У меня есть два типа тегов. необходимо заменить "[" на "<". Я пробовал использовать str_replace, но он не работает.
первый тег:
$x = '<break time = "2000ms"/>';
$y = '[pause = "1000ms"]';
echo str_replace(['[ pause =','[pause=','[ pause=','[pause ='],"<break time",trim($y));
второй тег:
[pitch = "x-low"][endpitch]
преобразовать в
<prosody pitch = "x-low"></prosody>
Заранее спасибо.
........ Обновлено .........
$text = 'I am [pitch = "high"]Rudratosh Shastri[endpitch]. what is your name ? how are you? sorry [pause = "3000"] i can not hear you ?[rate = "-70.00%"] i still can\'t hear you[endrate] ? [rate = "+50.00%"]why i can\'t hear you[endrate] ?';
echo $text = preg_replace("/\[pause.*\"(\w+)\".*\]/", '<break time = "$1ms"/>', $text);
output: I am [pitch = "high"]Rudratosh Shastri[endpitch]. what is your name ? how are you? sorry <break time = "3000ms"/> ?
Не выводятся данные после метки времени перерыва.
отображается ошибка синтаксиса, неожиданный '$', ожидающий ',' или ')'
Большое спасибо, что вы спасли меня .. но это только для одного кронштейна, как мне реализовать это для двойного тега. например [pitch = "x-low"] [endpitch] на <prosody pitch = "x-low"> </prosody>






Вместо этого используйте регулярное выражение.
preg_replace("/\[.*\"(\w+)\".*\]/", "<break time = "$1"/>")