Как заменить пробелы в строке?

337
15 января 2017, 18:28

Есть строка:

$str = '<h2 id="name of header">Name of header</h2>';

Мне необходимо заменить все пробелы на символ '-' только в параметре ID (id="name of header"). Как это сделать?

Answer 1

Вообщем если кому-то надо сделать похожую задачу, вот решение на мой вопрос:

$content = explode("\r\n", $content); //разбиваем контент на строки
foreach ($content as $str) { // перебираем полученные массив
    if ( preg_match("/(<h. id=.*.)(>)(.*.)(<\/h.>)/", $str) == 1 ) { //если текущая строка содержит любой тег h1-h6
        $id = preg_replace("/(<h. id=.*.)(>)(.*.)(<\/h.>)/", "$3", $str); // выбираем только то, что лежит в id
        $bad_symbols = array(" ", ","); // задаем символы, которые необходимо заменить
        $id = trim(str_replace($bad_symbols, "-", $id)); //заменяем ненужные символы предварительно удалив пробелы побокам
        $str = preg_replace("/(<h. id=)(.*.)(>)(.*.)(<\/h.>)/", "$1'".$id."'$3$4$5", $str); // собираем отформатированную строку
    }
    echo $str; // выводим готовый контент
}
Answer 2

Я бы воспользовался str_relace

$str = '<h2 id="name of header">Name of header</h2>'; $str = str_replace(" ", "-", $str); echo $str;

READ ALSO
mysqli_fetch в echo выдает &ldquo;Array&rdquo;

mysqli_fetch в echo выдает “Array”

Есть некоторый скрипт который отвечает за то, чтобы взять TEXT из столбика coord по запросу keyС помощью запроса SELECT я получаю эту строку

251
Вернуть валидный json php

Вернуть валидный json php

Доброго времени суток, столкнулся с тупой проблемой, с которой сижу пол дняЕсть php, который возвращает данные в формате json

347
Как пользоваться областью видимости private в PHP?

Как пользоваться областью видимости private в PHP?

Есть public: то, что по умолчаниюТакже есть protected (защищенный) и private — вообще не используется за пределами зоны видимости (это если я верно понял)!

271
3 уровень подкатегорий opencart?

3 уровень подкатегорий opencart?

Здравствуйте, подскажи как реализовать вывод 3 уровня подкатегории

307