我嘗試了不同的方式,用 PHP 中的元字符替換另一個文本的元字符的摘錄。我知道,這看起來很簡單,但我嘗試了很多次但沒有得到它。圖案:$Sel = 'anyvalues';替代品:$Sel = 'one other';主題:<?php $Sel = 'anyvalues';我深入嘗試以不同的順序使用 addlashes() 和 preg_quote() 方法,但它不起作用。我需要它作為代表而不是尋找任何解決方法。這些值中的每一個都位于不同的文件中,即模式位于一個文件中,替換位于另一個文件中,主題也位于另一個文件中。
1 回答

慕的地6264312
TA貢獻1817條經驗 獲得超6個贊
您是否將您的模式包裝在分隔符中?
$pattern = '$Sel = "anyvalues_containing_delimiter_/";';
$replacement = '$Sel = "one other";';
$subject = '<?php $Sel = "anyvalues_containing_delimiter_/";';
echo preg_replace(sprintf('/%s/', preg_quote($pattern, '/')), $replacement, $subject);
模式的內容是唯一需要轉義的內容,因此preg_quote調用。第二個參數是包裝模式的分隔符(sprintf這里是做什么的),因此模式內容中的任何出現也可以在應用之前進行轉義。
編輯:我已經修改了片段以涵蓋文件內容中分隔符的出現。
第二次編輯:將代碼從鏈接片段移到答案本身。
- 1 回答
- 0 關注
- 89 瀏覽
添加回答
舉報
0/150
提交
取消