2014-05-29 3 views
1

У меня есть mutltistrings так:Split строка - PHP

string '10<sup>ème</sup><span class="tLost">(-2)</span>' (length=48) 

string '7<sup>ème</sup><span class="tLost">(-2)</span>' (length=47) 

string '5<sup>ème</sup><span class="tLost">(-2)</span>' (length=47) 

string '2<sup>ème</sup><span class="tLost">(-2)</span>' (length=47) 

string '4<sup>ème</sup><span class="tWin">(+1)</span>' (length=46) 

И мне интересно, я могу взорвать их на две части:

array(
    [0]=>'10<sup>ème</sup>', 
    [1]=>'<span class="tLost">(-2)</span>' 
) 

Я попытался это, но он не работает:

$position[] = explode("</sup>",$value); 

Есть ли другой способ? Благодаря
Вот помимо массива, что я хочу, чтобы преобразовать:

array (size=21) 
0 => 
    array (size=4) 
    'Mot Clé' => string 'TEST1' (length=5) 
    'Bing' => string '0<sup>ème</sup><span class="tLost">(-1)</span>' (length=47) 
    'Google' => string '10<sup>ème</sup><span class="tLost">(-2)</span>' (length=48) 
    'Yahoo' => string '=' (length=1) 
1 => 
array (size=4) 
    'Mot Clé' => string 'TEST2' (length=5) 
    'Bing' => string '0<sup>ème</sup><span class="tLost">(-1)</span>' (length=47) 
    'Google.fr France' => string '7<sup>ème</sup><span class="tLost">(-2)</span>'  (length=47) 
    'Yahoo' => string '=' (length=1) 
    2 => 
    array (size=4) 
    'Mot Clé' => string 'TEST3' (length=5) 
    'Bing' => string '0<sup>ème</sup><span class="tLost">(-1)</span>' (length=47) 
    'Google' => string '5<sup>ème</sup><span class="tLost">(-2)</span>' (length=47) 
    'Yahoo' => string '=' (length=1) 
+0

Предоставить полный сценарий, который демонстрирует это – zerkms

+0

@zerkms Сообщение отредактировал :) – SpencerX

+0

I не видите скрипт php. Я вижу некоторый вывод, который генерирует скрипт php. Просто фиктивный скрипт, который объявляет hardcoded array/strings и ведет себя некорректно. – zerkms

ответ

0

попробовать это регулярное выражение ... получить все теги и поместить в массив

$str = '10<sup>ème</sup><span class="tLost">(-2)</span>'; 

$arr = array(); 

preg_match_all('#<.[^<]+>.+?</.[^<]*>#', $str, $arr); 

выход

array(1) { 
    [0]=> 
    array(2) { 
    [0]=> 
    string(15) "<sup>ème</sup>" 
    [1]=> 
    string(31) "<span class="tLost">(-2)</span>" 
    } 
} 
0

Это не работает, потому что взрываются удалит шаблон.

Вы можете использовать, например, этот простой код, если вам просто нужно разделить строку на две части:

$first = substr($var, 0, strpos($var, "<span")); 
$second = substr($var, strpos($var, "<span"), strlen($var) - strpos($var, "<span")); 

где $ вар должна быть строка, которую вы хотите разделить.