![](/img/trans.png)
[英]php remove specified characters in a given string using “preg_replace()”
[英]PHP preg_replace find a word in string and remove other characters
我試圖從字符串中刪除所有與單詞列表不匹配的字符。
我的單詞列表可能是:
一個字符串可以是這樣的:
我的結果應該是這樣的:
我的方法:
preg_replace('/(person|animal)/i', '', '123-ea-person.jpg')
output:
123-ea-.jpg
預計 output:
person
我怎樣才能反轉模式以獲得結果?
解決了
@Juan thx,我不需要擴展。
解決方案 1(@Juan):
strtolower(preg_replace('/(.*)(person|animal)(.*)/i', '$2', '123-ea-person.jpg'));
解決方案 2 (@user3783243):
strtolower(preg_replace('/(?:person|animal)(*SKIP)(*FAIL)|./i', '', '123-ea-person.jpg'));
結果:
person
帶有 PCRE 動詞的strtolower
可以實現您的目標:
strtolower(preg_replace('/(?:person|animal)(*SKIP)(*FAIL)|./i', '', '123-ea-person.jpg 456456-on-Person.jpg a-animal-dog.png'));
使用這種方法,將跳過person
或animal
的比賽,所有其他比賽將被替換為空。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.