我記得之前做過這個,但是找不到代碼。我使用str_replace替換這樣的一個字符:str_replace(':', ' ', $string);
但我想要替換所有以下字符\/:*?"<>|
,而不是爲每個字符執行str_replace。Str_replace對於多個項目
回答
str_replace()
可以採取一個陣列,所以你可以這樣做:
$new_str = str_replace(str_split('\\/:*?"<>|'), ' ', $string);
另外,您可以使用preg_replace()
:
$new_str = preg_replace('~[\\\\/:*?"<>|]~', ' ', $string);
假設OP意味着應該替換反斜槓,那preg_replace模式對我來說不起作用。爲了讓反斜槓按預期工作,我必須在模式中使用其中的4個(即「\\\\」)。 – GreenMatt
@GreenMatt你是對的。 – NullUserException
好的答案,加入@dogbert答案將使它完成不閱讀手冊,並沒有意識到str_split返回一個數組的人。 – Bradmage
像這樣:
str_replace(array(':', '\\', '/', '*'), ' ', $string);
或者說,在現代PHP(從5.4起任何東西),則略低少羅嗦:
str_replace([':', '\\', '/', '*'], ' ', $string);
絕對最有效的答案 – zoltar
你可以使用preg_replace()。下面的例子可以使用命令行的PHP中運行:
<?php
$s1 = "the string \\/:*?\"<>|";
$s2 = preg_replace("^[\\\\/:\*\?\"<>\|]^", " ", $s1) ;
echo "\n\$s2: \"" . $s2 . "\"\n";
?>
輸出:
$ S2: 「字符串 」
str_replace(
array("search","items"),
array("replace", "items"),
$string
);
例如,如果要更換search1與replace1和search2與replace2然後下面的代碼將工作:
print str_replace(
array("search1","search2"),
array("replace1", "replace2"),
"search1 search2"
);
//輸出:replace1 replace2
不錯!莫名其妙的邏輯,但我不知道:) –
我有一個情況,即我有兩個不同的結果替換來取代HTML標籤。
$trades = "<li>Sprinkler and Fire Protection Installer</li>
<li>Steamfitter </li>
<li>Terrazzo, Tile and Marble Setter</li>";
$s1 = str_replace('<li>', '"', $trades);
$s2 = str_replace('</li>', '",', $s1);
echo $s2;
結果
「自動噴水滅火和防火安裝程序」,「Steamfitter」,「水磨石,瓷磚和大理石二傳手」,
要替換這些字符用空格- 1. 如何Str_replace爲多個項目
- 2. 多個str_replace?
- 3. 多個問題str_replace
- 4. .removeClass對多個項目?
- 5. 使用對多個項目
- 6. 對於同一個標籤欄項目的多個視圖
- 7. str_replace多個字符串
- 8. 多個str_replace不工作
- 9. QueryOver多對多項目
- 10. 用於多個項目的CompleteSale Ebay API
- 11. CSS3 PIE.js,用於多個項目
- 12. zabbix - 觸發多個項目大於0
- 13. Linq:GetElementAt()等價於檢索多個項目?
- 14. 基於ID插入多個項目 - Laravel
- 15. 多個項目
- 16. 多個項目
- 17. 多個項目
- 18. 搖籃:對於多個Java公共資源的依賴項目
- 19. 對於每個循環不跳項目
- 20. 對於我在一個項目
- 21. UCM Clear Case:一個項目中的流對象與多個項目的對比
- 22. Newtonsoft.Json.JsonConvert.SerializeObject單個項目與多個項目
- 23. Supervisord - 多個項目對接洽談
- 24. str_replace函數用於多個項目,然後將結果存儲在新的變量
- 25. awk等效於str_replace
- 26. 多個UIBarButton項目
- 27. 多個$ _POST項目
- 28. setListAdapter多個項目?
- 29. redis.lpush多個項目
- 30. Log4Net多個項目
? –
不要害怕引用優秀的php.net手冊和[複習參數部分](http://php.net/str_replace),看看你想要什麼是可能的。 –