這個問題讓我發瘋。比方說,我有一個字符串:PHP:如何刪除2個字符的字符串中的部分而不刪除太多?
This is a &start;pretty bad&end; string that I want to &start;somehow&end; display differently
我希望能夠去除&start;和&end;部分以及兩者之間的一切,以便它說:
This is a string that I want to display differently
我嘗試使用的preg_replace用常規表達,但它起飛太多,即:
This is a display differently
的問題是:如何刪除只是套&start;和012之間的東西雙並確保它不會刪除任何&end;和&start;段之間什麼?
請記住,我與數百名字符串是非常不同的對方,所以我正在尋找一個靈活的解決方案將與他們的工作,工作。
預先感謝任何與此幫助。
編輯:替換美元符號&符號與。哎呀!
沒有什麼RE你試試?從匹配的字符串中排除$或至少搜索它非貪婪是很重要的。 – eckes
@eckes我試過,但它確實是我的問題時說(花太多關閉):'/ \ &start; [^>] + \ &end; /'' – user1413341
[^ $] +'排除$?。 (不知道美元或&符號是否正確,你提到了兩者)。如果你添加?它甚至會非貪婪(但其中一個就足夠了) – eckes