2017-12-20 2 views
-4

Teilen, die ich habe:eine Zeichenfolge Linie Zum Beispiel

$t = 'wap long text[dv]netlong text'; 

ich aus der Zeichenfolge teilen wollen [dv] jeweils Teile zu bekommen. Mein erwartetes Ergebnis sollte sein:

$part ='wap long text'; 
$part2 ='netlong text'; 

Wie kann ich das erreichen?

+3

Vielleicht übersehen Sie '()' in der PHP-Handbuch explodieren? Beobachten Sie, wie die Wiederholungsfliegen auf dieser tief hängenden Frucht schwärmen. – mickmackusa

Antwort

1

können Sie die PHP verwenden explode() Funktion dafür. Btw, versuchen Sie, solche Dinge für das nächste Mal zu googeln. Das hätte in ein paar Sekunden gefunden werden können.

<?php 
$t = 'wap long text[dv]netlong text'; 
$test = explode("[dv]", $t); 
var_dump($test); 
?> 
2

Sie können eine Kombination von explode verwenden und list:

$t = 'wap long text[dv]netlong text'; 
list($part1, $part2) = explode('[dv]', $t); 

// $part1 is 'wap long text' 
// $part2 is 'netlong text' 

Run es here.

+0

Btw, das ist sicher, auch wenn es kein '[dv]' in der Zeichenkette gibt - nur '$ part2' ist in diesem Fall leer. – FirstOne

+0

Was passiert, wenn 2 oder mehr Vorkommen von '[dv]'? – Cashbee

+0

@Cashbee wird es sowieso die ersten 2 nehmen. Alles darüber hinaus ist in der Frage nicht explizit angegeben. – FirstOne

0
$t = 'wap long text[dv]netlong text'; 
$t_new = explode('[dv]',$t); 
echo $t_new[0].'<br>'.$t_new[1]; 
1
<?php 

$t = 'wap long text[dv]netlong text'; 

$data=explode('[dv]',$t); 


$i=0; 
foreach($data as $row){ 
    $newArray['part'.$i]=$row; 
    $i++; 
} 

echo '<pre>'; 
print_r($newArray); 

Dies wird ganz gleich dynamisch arbeiten, wie lange das Skript ist es es in geteilt wird [dv] und speichern Sie es Teile in Array-Felder sind, die dynamisch mit dem Zählerwert genannt werden.

Ausgang:

Array 
(
    [part0] => wap long text 
    [part1] => netlong text 
) 

Lesen Sie mehr über es here

Verwandte Themen