我想獲取 [tag] 和 [/tag] 之間的所有文本(包括標(biāo)簽)。所以這句話(huà)。The cat said [tag]hi to dog[/hi] at the park.使用這個(gè)功能。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);}我可以返回標(biāo)簽之間的文本。但我也想要標(biāo)簽。基本上,我想掃描文本中的標(biāo)簽,以確保有開(kāi)始標(biāo)簽和結(jié)束標(biāo)簽。然后允許我編輯內(nèi)容和標(biāo)簽。因此,如果文本周?chē)嬖?[tag] 和 [/tag],請(qǐng)將文本周?chē)?[tag] 和 [/tag] 更改為 和 。我可以使用 str_replace 來(lái)完成它們,但我不知道如何結(jié)合對(duì)開(kāi)始標(biāo)簽和結(jié)束標(biāo)簽的搜索并替換它們。
1 回答

心有法竹
TA貢獻(xiàn)1866條經(jīng)驗(yàn) 獲得超5個(gè)贊
嘗試下面的代碼,基本上你需要檢測(cè)開(kāi)始標(biāo)簽和結(jié)束標(biāo)簽,并根據(jù)需要在 substr 中包含標(biāo)簽。
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 關(guān)注
- 132 瀏覽
添加回答
舉報(bào)
0/150
提交
取消