在我的functions.php如果有這樣的代碼:如何刪除特殊字符之外的空間?
echo '<a href="'.preg_replace('/\s/','-',$search).'-keyword1.html">'.urldecode($search).'</a>';
這消除了特殊字符..
但我怎麼能additonally添加刪除空間,取而代之的是 - 並刪除「
所以,如果有人輸入「喲!這裏」我想溜溜這裏
在我的functions.php如果有這樣的代碼:如何刪除特殊字符之外的空間?
echo '<a href="'.preg_replace('/\s/','-',$search).'-keyword1.html">'.urldecode($search).'</a>';
這消除了特殊字符..
但我怎麼能additonally添加刪除空間,取而代之的是 - 並刪除「
所以,如果有人輸入「喲!這裏」我想溜溜這裏
嘗試:
<?php
$str = '"yo! here"';
$str = preg_replace(array('/[^\s\w]/','/\s/'),array('','-'),$str);
var_dump($str); // prints yo-here
?>
可以消除任何非話:如果您要更換的不想要的字符運行以單破折號
preg_replace('/\W/', '-', $search);
,那麼你可以使用是這樣的:
preg_replace('/\W+/', '-', $search);
要刪除包圍引號,然後替換任何其他垃圾與破折號,試試這個:
$no_quotes = preg_replace('/^"|"$/', '', $search);
$no_junk = preg_replace('/\W+/', '-', $no_quotes);
這將取代多個空格/ 「特殊」 的字符用一個連字符。如果你不想要,請刪除「+」。
如果某物以感嘆號/其他結尾,您可能需要修剪任何尾隨連字符。
<?php preg_replace("/\W+/", "-", "yo! here check this out"); ?>
對於OP的輸入:「‘!在這裏喲’」這將產生「-yo-這裏 - 」 – codaddict
啊,我錯過了報價要求。更新中... –