我想獲取 [tag] 和 [/tag] 之間的所有文本(包括標簽)。所以這句話。The cat said [tag]hi to dog[/hi] at the park.使用這個功能。function get_string_between($string, $start, $end){ $string = ' ' . $string; $ini = strpos($string, $start); if ($ini == 0) return ''; $ini += strlen($start); $len = strpos($string, $end, $ini) - $ini; return substr($string, $ini, $len);}我可以返回標簽之間的文本。但我也想要標簽?;旧?,我想掃描文本中的標簽,以確保有開始標簽和結束標簽。然后允許我編輯內容和標簽。因此,如果文本周圍存在 [tag] 和 [/tag],請將文本周圍的 [tag] 和 [/tag] 更改為 和 。我可以使用 str_replace 來完成它們,但我不知道如何結合對開始標簽和結束標簽的搜索并替換它們。
1 回答

心有法竹
TA貢獻1866條經驗 獲得超5個贊
嘗試下面的代碼,基本上你需要檢測開始標簽和結束標簽,并根據需要在 substr 中包含標簽。
function get_string_between($string, $start, $end){
$posStart = strpos($string, $start);
if (!($posStart !== false)) return '';
$posEnd = strpos($string, $end);
if (!($posEnd !== false)) return '';
$len = strlen($end);
return substr($string, $posStart, $posEnd - $posStart + $len);
}
- 1 回答
- 0 關注
- 139 瀏覽
添加回答
舉報
0/150
提交
取消