我的主要字符串看起来像这样
<div class="large-12 columns">
text 1
</div>
<div class="large-12 columns">
text 2
</div>
<div class="large-12 columns">
text 3
</div>
<div class="large-12 columns">
text 4
</div>
<div class="large-12 columns">
text 5
</div>
这里我想在标记<div class="large-12 columns">
和</div>
我已经有了在两个字符串之间提取内容的功能,但它只获取了第一个标记(文本1)
在上面的主字符串中,我给出了5个文本,但真正的字符串可能包含1到30个。
之前有人这样做过,因为我是PHP的新手。
我用来提取字符串的代码。
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);
}
答案 0 :(得分:2)
试试这个:已修改
<?php
$str='<div class="large-12 columns">
text 1
</div>
<div class="large-12 columns">
text 2
</div>
<div class="large-12 columns">
text 3
</div>
<div class="large-12 columns">
text 4
</div>
<div class="large-12 columns">
text 5
</div>';
$str1=str_replace('<div class="large-12 columns">','',$str);
$arr=str_replace('</div>',',',$str1);
$arr1=explode(',',$arr);
$values=array();
foreach ($arr1 as $key=>$value){
if(isset($value) && $value!=''){
$values[] = $value;
}
}
print_r($values);
答案 1 :(得分:0)
PHP版本......
<?php
$str='<div class="large-12 columns">
text 1
</div>
<div class="large-12 columns">
text 2
</div>
<div class="large-12 columns">
text 3
</div>
<div class="large-12 columns">
text 4
</div>
<div class="large-12 columns">
text 5
</div>';
$arr2 = str_replace('</div>', ',', $str);
$arr = explode(',', $str);
foreach ($arr as &$value){
$value = strip_tags($value);
}
print_r($arr);
?>
答案 2 :(得分:-2)
jQuery很容易做到这一点。 .text()函数使用类“.large-12”提取存储在div中的信息,并将它们放在一个名为info的变量中。由于我不知道你将如何处理它们,我使用相同的.text()函数将它们放在一个div中,并使用id extract_divs jsfiddle
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
var info = $(".large-12").text();
$("#extracted_divs").text(info);
});
</script>
</head>
<body>
<div class="large-12 columns">
text 1
</div>
<div class="large-12 columns">
text 2
</div>
<div class="large-12 columns">
text 3
</div>
<div class="large-12 columns">
text 4
</div>
<div class="large-12 columns">
text 5
</div>
<div id="extracted_divs">
</div>
</body>
</html>