0 レビュー
4 回答
PHPの文字列配列からHTML要素を取得する
<脇>
解決策:
答えへのリンク
答えへのリンク
答えへのリンク
答えへのリンク
この質問にはすでに回答があります:
わからない
0
レビュー
答え :
解決策: $arr = array(
"<span class='inside'>inside1</span> this is outside",
"<span class='inside'>inside2</span> this is outside",
"<span class='inside'>inside3</span> this is outside"
);
function clean($var)
{
$var=strip_tags($var);
$chunk=explode(' ',$var);
return $chunk[0];
}
$inside = array_map("clean", $arr);
print_r($inside);
$arr = array(
"<span class='inside'>inside1</span> this is outside",
"<span class='inside'>inside2</span> this is outside",
"<span class='inside'>inside3</span> this is outside"
);
function clean($var)
{
$var=strip_tags($var);
$chunk=explode(' ',$var);
return $chunk[0];
}
$inside = array_map("clean", $arr);
print_r($inside);
わからない
0
レビュー
答え :
解決策:
これを行うことができます
$arr = array(
"<span class='inside'>inside1</span> this is outside",
"<span class='inside'>inside2</span> this is outside",
"<span class='inside'>inside3</span> this is outside"
);
$insideHTML = array();
foreach($arr as $string) {
$pattern = "/<span ?.*>(.*)<\/span>/";
preg_match($pattern, $string, $matches);
$insideHTML[] = $matches[1];
}
var_dump($insideHTML);
これにより、次の配列が得られます
array(3) {
[0]=>
string(7) "inside1"
[1]=>
string(7) "inside2"
[2]=>
string(7) "inside3"
}
わからない
0
レビュー
答え :
解決策:
正確な例の場合、これは機能します:
$arr = array(
"<span class='inside'>inside1</span> this is outside",
"<span class='inside'>inside2</span> this is outside",
"<span class='inside'>inside3</span> this is outside"
);
$inside = array();
foreach($arr as $k=>$v){
$expl1 = explode("<span class='inside'>", $v);
foreach($expl1 as $k2=>$v2){
$v2 = trim($v2);
if(strpos($v2, '</span>') !== false){
$expl2 = explode('</span>', $v2);
$inside[] = $expl2[0];
}
}
}
print_r($inside);
生成するもの:
Array
(
[0] => inside1
[1] => inside2
[2] => inside3
)
わからない
0
レビュー
答え :
解決策:
これが唯一の必要なことである場合(たとえば、常に <span>Inside</span>Oustide として構造化されます)、次のことができます。これを行う:
$result=array();
foreach($arr as $html) {
$result[]=substr(strstr(strstr($html,'>'),'<',true),1);
}
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。