Xwab
Форумыnavigate_nextНебольшие вопросы по PHP/MySQL

Замена class регуляркой
Сообщения
Aventus

Здравствуйте уважаемые форумчане. Очень надеюсь на вашу помощь)

Задача.
Имеется файл filename.html
Его нужно перезаписать таким образом что бы атрибуты class="x" заменить на class="y", при чем везде где они встречаются. Заранее благодарен за вашу помощь

01 Май 2013, 18:19
wapmorgan

str_repace('class="x"', 'class="y"', $data)

01 Май 2013, 18:23
TOOZ

$data = file_get_contents('filename.html');

01 Май 2013, 18:24
Вован

[php:1:2fcc3ef6d3]
<?php
$file = file_get_contents('filename.html');
$file = preg_repace('|class="([^"]+)"|si', 'class="y"', $file);
file_put_contents('filename_new.html',$file);
?>
[/php:1:2fcc3ef6d3]


__________
посл.ред. 01 Май 2013, 18:30; всего 1 раз 01 Май 2013, 18:26
Aventus

#2, название класса 'x' не известно.
добавлено спустя 48 секунд:
'у' - будет рандомный у меня

01 Май 2013, 18:28
TOOZ

Перенес тему кстати...

01 Май 2013, 18:30
Вован

Aventus, 4пост, обновил

01 Май 2013, 18:30
Aventus

Вован, пошел тестить
добавлено спустя 11 минут:
Вован, не то. Нужно в цикле брать каждый отдельный class и переименовывать его вместе с остальными одноименными. Например:

На входе:

<div class="x"></div>
<span class="y"></span>
<a class="x"></a>
<h1 class="y"></h1>
<b class="y"></b>


На выходе:

<div class="qwerty"></div>
<span class="12345"></span>
<a class="qwerty"></a>
<h1 class="12345"></h1>
<b class="12345"></b>

01 Май 2013, 18:44
Вован

ну эт хз, сам как нить

01 Май 2013, 18:46
Aventus

Вован,

01 Май 2013, 18:48
Ответить на тему