PHP文本到数组并带有键
我不太了解RegExp,我没有成功地将字符串拆分为数组 我有这样的字符串:PHP文本到数组并带有键,php,regex,arrays,split,Php,Regex,Arrays,Split,我不太了解RegExp,我没有成功地将字符串拆分为数组 我有这样的字符串: <h5>some text in header</h5> some other content, that belongs to header <p> or <a> or <img> inside.. not important... <h5>Second text header</h5> 标题中的某些文本 属于标题或内部的其他内容。。
<h5>some text in header</h5>
some other content, that belongs to header <p> or <a> or <img> inside.. not important...
<h5>Second text header</h5>
标题中的某些文本
属于标题或内部的其他内容。。不重要。。。
第二个文本标题
因此,我尝试将文本字符串拆分为数组,其中键是来自标题的文本,内容是所有剩余内容,直到下一个标题,如:
数组(“header中的一些文本”=>“属于header的一些其他内容…”,…)我建议查看PHP DOM。您可以从文档中读取/创建DOM。我建议您查看PHP DOM。您可以从文档中读取/创建DOM。我用过这个,并且很喜欢 你也可以用正则表达式 像这样的
/<h5>(.*)<\/h5>(.*)<h5>/s
/(.*)(.*)/s
但这只是第一种情况。你必须剪断绳子才能得到下一根
不管你怎么剪,我都看不到一条适合你的线。对不起
这是一个破烂的4号班轮
$chunks = explode("<h5>", $html);
foreach($chunks as $chunk){
list($key, $val) = explode("</h5>", $chunk);
$res[$key] = $val;
}
$chunks=explode(“,$html);
foreach($chunk作为$chunk){
列表($key,$val)=分解(“,$chunk);
$res[$key]=$val;
}
我用过这个,很喜欢
你也可以用正则表达式
像这样的
/<h5>(.*)<\/h5>(.*)<h5>/s
/(.*)(.*)/s
但这只是第一种情况。你必须剪断绳子才能得到下一根
不管你怎么剪,我都看不到一条适合你的线。对不起
这是一个破烂的4号班轮
$chunks = explode("<h5>", $html);
foreach($chunks as $chunk){
list($key, $val) = explode("</h5>", $chunk);
$res[$key] = $val;
}
$chunks=explode(“,$html);
foreach($chunk作为$chunk){
列表($key,$val)=分解(“,$chunk);
$res[$key]=$val;
}
不要通过preg\u match
而是使用php类
例子:
不要通过preg\u match
而是使用php类
例子:
最好使用html解析库。不要使用正则表达式;而是使用dompasseriagree。这样做的目的是什么?DOMDocument将把字符串转换成一个您可以轻松使用的对象。那么嵌入的头呢?h1内容中的h2?您是需要内容中的HTML标记,还是只需要它作为文本?最好使用HTML解析库。不要使用正则表达式;而是使用dompasseriagree。这样做的目的是什么?DOMDocument将把字符串转换成一个您可以轻松使用的对象。那么嵌入的头呢?h1内容中的h2?内容中是否需要HTML标记,或者您只需要将其作为文本使用?是否有使用regexp获取数组的快速方法?您可能希望在尝试将文档解析为DOM@Martynas看起来你可能想用不同的方式来解决这个问题。我只是想用regexp进行拆分,因此,使用regexp获取数组不是一种快捷的方法吗?在尝试将文档解析为数组之前,您可能希望在文档上运行html tidyDOM@Martynas看起来你可能想用不同的方式来解决这个问题。我只是想用regexp来拆分,所以工作量会少一些