У меня есть код:
$txt = "lookSTARTfromhereSTARTagainhere";
$disp = str_split($txt, 4);
for ($b = 0; $b<3; $b++) {
echo "$disp[$b]";
}
которые возвращаютсяlook
‘,’STAR
»Tfor
‘в текстовой строке’lookSTARTfromhereSTARTagainhere
«Моя проблема в том, как начать разделение текста с»START
‘пример вывода моего результата для текстовой строки’lookSTARTfromhereSTARTagainhere
после разделенияfrom
»here
»again
спасибо за ваше время и понимание
str_split может сделать это невозможным, так как «again» имеет 5 символов. Вы можете получить «от», «здесь» с помощью следующего кода.
$txt = "lookSTARTfromhereSTARTagainhere";
$txt = str_replace('look','',$txt);
$txt = str_replace('START','',$txt);
$disp = str_split($txt, 4);
for ($b = 0; $b<3; $b++) {
echo "$disp[$b]";
}
как начать разделение текста с «START»
Просто с explode
а также array_slice
функции:
$txt = "lookSTARTfromhereSTARTagainhere";
$result = array_slice(explode('START', $txt), 1);
print_r($result);
Выход:
Array
(
[0] => fromhere
[1] => againhere
)
Если ваш ожидаемый результат состоит из четырех букв из начала, вы можете взорваться при START, затем удалите первый элемент и используйте str_split, чтобы разделить каждый элемент массива на четыре буквы.
$txt = "lookSTARTfromhereSTARTagainhere";
$arr = explode("START", $txt); // Explode on START
unset($arr[0]); // first item is before START, we don't need that.
$res = [];
foreach($arr as $val){
$temp = str_split($val, 4); // Split array item on four letters.
$res = array_merge($res, $temp); // merge the new array with result array
}
var_dump($res);
<?php
$txt = "lookSTARTfromhereSTARTagainhere";
$split = explode("START",$txt);
unset($split[0]);
$first_str = str_split($split[1],4);
$t2 = str_split($split[2],5);
$second_str = $t2[0];
array_push($first_str,$second_str);
print_r($first_str);
?>
выход
Array ([0] => from [1] => здесь [2] => снова)