我使用这个成功php substr - 如何在开始substr之前找到<br>?
$str = "{source}do_something";
if(substr($str, 0, 8) == "{source}")
,但如果我
$str = "<br><br>{source}do_something";
的目标是能够增加空行(多达需要)发射前的我该怎么办我的do_something
感谢
编辑
好了,所以我需要运行功能
菜单;垂直,真正
,但我还需要我的菜单前有那些空白行
我的字符串是
<br><br><br><div>{source}_menu_;vertical,true{/source}</div>
没有换行符我用
if(substr($pos, 0, 8) == "{source}") {
$campos = substr_replace($description, '', 0, 8);
$campos = substr($campos, 0, -9);
$funcao = explode(";", $campos);
call_user_func_array($funcao[0], array($funcao[1]));
}
现在我需要同样的东西,但换行符,所以浏览器实际上呈现换行符,然后运行该功能。
我希望我的英语不够好,搞清楚......
感谢
新的编辑与解决方案
$startTag = "{source}";
$endTag = "{/source}";
$initial_strpos = strpos($str, $startTag);
$final_strpos = strpos($str, $endTag);
if ($initial_strpos !== false) {
$beforeTag = substr($str, 0, $initial_strpos);
echo htmlspecialchars_decode($beforeTag, ENT_QUOTES);
$start = $initial_strpos + strlen($startTag);
$innerText = substr($str, $start, strpos($str, $endTag)-$start);
$funcao = explode(";", $innerText);
call_user_func_array(array_shift($funcao), $funcao);
$aferTag = strpos($str, $final_strpos);
echo htmlspecialchars_decode($aferTag, ENT_QUOTES);
}
会打印出我的换行和运行我的功能。
您可以在运行'strip_tags()'之后比较字符串 - 如果这对您有用。目前尚不完全清楚您的最终目标是什么 – 2012-01-16 14:03:01
您是否试图在大括号'{'和'}'之间提取字符串? – anubhava 2012-01-16 14:03:05
确切地说,我的目标是运行名称在{source}内的函数,如