0
$find = '{<p>something</p>}';
$str1 = "<p>{<p>something</p>}</p>\r\ntext<p>something else</p>";
// or
$str2 = "<p>something</p>\r\n{<p>something</p>}aa<p>t</p>\r\ntext<p>something else</p>";
基本上,$ find可以在字符串中的任何位置。新行分隔符是「\ r \ n」。如何從字符串中刪除特定的html標籤?
我需要在$ str中找到$ find,並在$特定字符串行的$ find附近刪除特定的html標籤。不應該從$ find中刪除標籤。
預計產出將是
// For $str1
$str1 = "{<p>something</p>}\r\ntext<p>something else</p>";
// For $str2
$str2 = "<p>something</p>\r\n{<p>something</p>}aat\r\ntext<p>something else</p>";
的字符串可能會很長,所以沒有正則表達式的解決方案吧。
我想通了:
$pos = strpos($str, $find);
if ($pos !== false) {
$contentLength = strlen($str);
$lineStart = (int)strrpos($str, "\r\n", -$contentLength+$pos); // cast false to 0 (start of string)
$lineEnd = strpos($str, "\r\n", $pos);
if ($lineEnd === false)
$lineEnd = strlen($str);
$lineLength = $lineEnd-$lineStart;
if ($lineLength < 0)
return;
var_dump(substr($str, $lineStart, $lineLength));
}
的轉儲字符串中的特定行。
你可以給試圖代碼? –