[英]Using Preg_replace for “…”
我想用preg_replace替換所有“...”,例如:Hello ... => Hello
我嘗試過:
$dir = preg_replace('/.../', '', $dir);
但它不起作用:/
點 ( .
)是正則表達式中的特殊字符,它匹配除換行符之外的任何單個字符(如果指定了PCRE_DOTALL
,則匹配任何字符)。 如果你真的想要匹配一個文字.
您必須將其轉義或將其包裝在角色類中。
但是,對於這么簡單的事情,不需要正則表達式。 只需使用str_replace
:
$dir = str_replace('...', '', $dir);
另請注意, 水平省略號 ( …
)是三個句點( ...
)中的單獨Unicode字符。 如果你還需要處理這些,它會變得有點棘手,因為PHP不提供真正的Unicode支持。 具體如何處理它取決於$dir
的編碼,但假設它是UTF-8編碼,這將刪除任何水平省略號字符( \\xE2\\x80\\xA6
是\…
的UTF-8編碼形式):
$dir = str_replace("\xE2\x80\xA6", '', $dir);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.