我有一個字符串<?php $linktitle = get_the_title();?>
,用於存儲帖子的標題。該字符串有這樣一個標題:刪除包含特定符號之前的字符
如果你的Wi-Fi是可怕的,檢查您的路由器 - 前紐約時報
如何刪除一切,包括–
?我使用的是:<?php echo strstr($linktitle, '–'); ?>
它輸出:
- 紐約時報
我有一個字符串<?php $linktitle = get_the_title();?>
,用於存儲帖子的標題。該字符串有這樣一個標題:刪除包含特定符號之前的字符
如果你的Wi-Fi是可怕的,檢查您的路由器 - 前紐約時報
如何刪除一切,包括–
?我使用的是:<?php echo strstr($linktitle, '–'); ?>
它輸出:
- 紐約時報
嘗試使用preg_replace
:
preg_replace("/.+?(–)/", '', $linktitle)
如果你想刪除-
太后的空白:
preg_replace("/.+?(–)\s*/", '', $linktitle)
這使用regul ar表達式匹配由除換行符1或更多次(.+
)之外的任何字符定義的模式,直到遇到(?
)空格後加破折號((–)
),然後是空格(\s
)0次或更多次(*
)。 Preg_replace然後用空字符串替換匹配的模式。
我希望你需要輸出像
- 紐約時報
從
如果你的Wi-Fi是可怕的,檢查您的路由器 - 紐約時報
所以儘量使用它可以幫助你,
$linktitle = "If Your Wi-Fi Is Terrible, Check Your Router – The New York Times";
echo substr($linktitle,strrpos($linktitle,'–'));
編輯:
如果您需要刪除"–"
了。利用這一點,
$linktitle = "If Your Wi-Fi Is Terrible, Check Your Router – The New York Times";
$specCharLen = strlen(htmlentities("–"));
echo substr($linktitle,strrpos($linktitle,'–')+$specCharLen);
需要刪除短劃線。 –
這個問題正在[上的元討論](http://meta.stackoverflow.com/q/309420/3367144) – kdbanman
'array_pop(爆炸( ' - ',$ linktitle))' – caw