PHP, nasıl iki dizeleri arasındaki tüm dizelerden oluşan bir dizi oluşturmak mı?

4 Cevap php

Ben gibi metin bir yığın var:

<b>First content</b> followed by <b>second content</b>

VEYA

"First content" and then "second content"

And I want to create an array that looks: [1] => "First content" [2] => "second content"

Örneğin birinden, iki etiketleri arasında içerik olsun. Ben ilk örneklerini almak için nasıl düşündüm, ama bu özyinelemeli yapmak için en iyi yolu anlamaya olamaz.

4 Cevap

Tam "İlk içerik" ve "ikinci içerik" arasında ne olduğunu biliyorsanız, kullanmak explode:

http://php.net/manual/en/function.explode.php

örneğin

$values = explode("followed by", $yourtext);

(Sadece düz metin istiyorsanız dizi elementleri "sayisinda strip_tags" kullanın)

Belirli etiketleri arasındaki tüm içeriğini ayıklamak için arıyorsanız, size simplehtmldom gibi bir HTML DOM Parser ile kapalı en iyi olabilir.

temelde, örneğin, "END (. +?) START" şeklinde bir regexpi gerekir

$a = "<b>First content</b> followed by <b>second content</b>";
preg_match_all("~<b>(.+?)</b>~", $a, $m);
print_r($m[1]);
<?php

$yourArray = split(" followed by ", $yourString);

?>

Sürece bir diziye yıkmak istediğiniz her değer arasında aynı metin gibi bu örneği kullanabilirsiniz.