Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
需要使用PHP从主字符串中提取字符串_Php_Html_Extract - Fatal编程技术网

需要使用PHP从主字符串中提取字符串

需要使用PHP从主字符串中提取字符串,php,html,extract,Php,Html,Extract,我的主弦看起来像这样 <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 cla

我的主弦看起来像这样

<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>

尝试以下操作:已编辑

 <?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);

jQuery很容易做到这一点。函数的作用是:使用类“.large-12”提取存储在div中的信息,并将其放入名为info的变量中。因为我不知道您将如何处理它们,所以我使用了相同的.text()函数将它们放置在一个较低的div中,其中包含id提取的\u div


$(文档).ready(函数(){
var info=$(“.large-12”).text();
$(“#提取的_divs”)。文本(信息);
});
文本1
文本2
文本3
文本4
文本5
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);
?>


添加您已经拥有的代码。共享您是如何尝试的…(php脚本)不幸的是,问题被标记为
php
,而不是
jquery
。这将保留在数组中并从索引1开始。修改以提供在php中使用的更干净的数组。@nWollybugis打印返回给您。结果在视图源:“数组([0]=>[1]=>text 1[2]=>text 2[3]=>text 3[4]=>text 4[5]=>text 5)”为什么先替换然后分解?为什么不干脆
explode(“”,$str)?然后在分解后添加一个
数组\u shift
,这样第一个元素就不会
为空了。explode on仍然会在数组中留下带有class info的开头div标记。OP只需要div标记之间的文本。不幸的是,它们没有说明以后要如何处理数据,因此将数组或变量用逗号分隔就留给我们了。
<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>
<?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);
?>