Я хочу преобразовать строку со специальным тегом HTML и соответствующим образом проанализировать ее.Ниже я покажу, за какой исходной строкой следует строка, которую я хочу проанализировать.Если кто-то может направить меня к правильному методу кодирования, чтобы сделать это возможным, это было бы фантастически.
Исходная строка:
$string = '<string 1="Jacob" 2="ice cream">{1} likes to have a lot of {2}.</string>';
Разобранная строка:
$parsed_string = 'Jacob likes to have a lot of ice cream.';]
РЕДАКТИРОВАТЬ:
Я забыл добавить, что переменная $ string может иметь несколько строк с несколькими параметрами, например, переменная $ string может быть следующей:
$string = '<string 1="hot dog">I like to have {1}</string> on <string 1="beach" 2="sun">the {1} with the blazing hot {2} staring down at me.';
Мне нужно решение, которое можетпроанализируйте приведенный выше пример кода.
РЕДАКТИРОВАТЬ 2:
Вот пример кода, который я разработал, который неполон и содержит несколько ошибок.Если существует более одной опции ex 1 = 'blah' 2 = 'blahblah', она не будет анализировать второй вариант.
<code>$string = '<phrase 1="Jacob" 2="cool">{1} is {2}</phrase> when <phrase 1="John" 2="Chris">{1} and {2} are around.</phrase>';
preg_match_all('/<phrase ([0-9])="(.*?)">(.*?)<\/phrase>/', $string, $matches);
print $matches[1][0] . '<br />';
print $matches[2][0] . '<br />';
print $matches[3][0] . '<br />';
print '<hr />';
$string = $matches[3][0];
print str_replace('{' . $matches[1][0] . '}', $matches[2][0], $output);
print '<hr />';
print '<pre>';
print_r($matches);
print '
';