Я пробовал substr и сплит, но не могу понять, как получить эти данные.Извлечь 2 подстроки из строки
$string = 'aDetails.push(new Array("XADP10520", "XADP10520 - ec Example Title"));';
//$label = 'XADP10520';
//$title = 'Example Title';
Я пробовал substr и сплит, но не могу понять, как получить эти данные.Извлечь 2 подстроки из строки
$string = 'aDetails.push(new Array("XADP10520", "XADP10520 - ec Example Title"));';
//$label = 'XADP10520';
//$title = 'Example Title';
Вы можете использовать основное регулярное выражение для извлечения обеих частей с помощью preg_match()
.
Вот пример:
$string = 'aDetails.push(new Array("XADP10520", "XADP10520 - ec Example Title"));';
preg_match('/\("(?<label>.+)", "\1 - ec (?<title>.+)"\)/i', $string, $parts);
$label = $parts['label'];
$title = $parts['title'];
echo $label; // XADP10520
echo $title; // Example Title
Пожалуйста, обратите внимание, я предположил, оба ключа, чтобы быть таким же, и - ec
часть будет удалена.
Не уверен, что вы пытаетесь сделать, но что-то, как это должно работать:
<?php
$string = 'aDetails.push(new Array("XADP10520", "XADP10520 - ec Example Title"));';
$tmps = explode('"', $string); //NOT SPLIT.. DEPRECATED
$label = $tmps[1];
$title = str_replace($label.' - ec ','',$tmps[3]);
?>
Не тестировался, и код довольно много бесполезной для этого конкретного примера, за исключением, но он должен работать
Итак, почему '$ title' равен просто« Примеру заголовка », а не полной строке« XADP10520 - ec Example Title », как в примере? –
Что вы пытаетесь сделать? Это похоже на попытку разобрать javascript в php, что просто не имеет смысла. – Arjan
@JonathanKuhn Возможно, потому что 'XADP10520' является ярлыком и не должен быть частью названия. Тогда запуск названия с '-' может быть странным. –