замена всех нужных фрагментов в Html файле

Тема в разделе "PHP программирование", создана пользователем Evgen, 25 июл 2006.

Статус темы:
Закрыта.
  1. Evgen

    Evgen Гость

    есть html файл с картинками. Нужно заменить путь ко всем файлам-картинкам. ТО есть есть строка типа "/home", ее нужно вставить перед каждым именем файла-картинки. Как это лучше сделать?
    Заранее спасибо!
     
  2. Andrew Stephanoff

    Andrew Stephanoff Гость

    поиск+замена
     
  3. Gisma

    Gisma Гость

    лучший способ preg_replace
     
  4. s10

    s10 Гость

    поиск и замена круче.
     
  5. Gisma

    Gisma Гость

    чем они отличаются от моего решения?
     
  6. BobiKK

    BobiKK Гость

    Для одноразового действия, вообще-то, по-барабану.
    Если это надо выполнять постоянно, причем, выполнять должен пользователь, то лучше поиск и замена (если, конечно, возможно), ибо быстрее
     
  7. Gisma

    Gisma Гость

    а я вот думал что регулярные выражения компилируются...
     
  8. BobiKK

    BobiKK Гость

    И? Да даже если вы байт-код будете делать или зендовским оптимизатором прогонять, всё равно будет гораздо медленее.

    P.S. А вообще, компиляция регулярок - это больше по перловской части
     
  9. Gisma

    Gisma Гость

    компиляция регулярок относится не только к перлу , тем более, что это preg_*
    Так вот на первом вызове preg_replace происходит компилация регулярного выражения, что и вызывает замедление по времени, на последующие вызовы среда выполнения работает уже со скомпилированным выражением, значительно ускоряя работу. Тем более, я не думаю что речь идет об веб-сервисе где каждая миллисекунда дорога. Так что, честно говоря, я не понимаю почему подымается вопрос скорости. Есть более насущные проблемы - preg_replace это одна команда + мощь регэкспов, что означает простоту большую мощь кода при меньших затратах со стороны программиста, а что важно. Потом любой поиск по документу перерастает в поиск регулярному выражению, поэтому применять их изначально правильно.
     
  10. BobiKK

    BobiKK Гость

    Ну вы протестировали бы прежде, чем заявлять, что парсинг текста регулярками не будет особо уступать в скорости.
    А если скорость не имеет значения в данном случае, то я уже сказал выше: по-барабану как текст обрабатывать.
     
  11. Gisma

    Gisma Гость

    давай слово если будем употр*цензура*ть перед выдачей решения, а не после.
    Насчет регулярок я прекрасно осведомлен о скоростях обработки выражений, и вам советую ознакомиться поближе, раз решили бросаться такими утверждениями. Повторяю, регулярки лучшее решение. Конечно, есть исключительные ситуации, когда от них следует отказаться, но это исключительные ситуации. Тут я не вижу причин отказа от них:). Поэтому выбираю простоту и универсальность.
     
  12. Andrew Stephanoff

    Andrew Stephanoff Гость

    Парни, вы чего? Как я понял, надо в html файле поменять путь к картинкам, то есть все <img src="path/to/image /> передалеть в <img src="home/path/to/image" />. Блин, открываем редактор (любой) , нажимаем Ctrl+H или Ctrl+R и выполняем замену src="path/to/image на src="home/path/to/image" по всему тексту. какие нахрен регулярки? Это же однократное действие!
     
  13. Gisma

    Gisma Гость

    нет ну я в такую тупость спрашивающего человека просто не верю.:)
    Ты прикинь программирует человек а произвести замену в файле исходников не знает как?;) Это чуть-чуть офигительный прикол. Поэтому я думаю что она там что-то парсит;).
    Поэтому я привожу мысль что се равно поиск обычно усложняется, поэтому сразу делаю через регулярки.
     
  14. BobiKK

    BobiKK Гость

    Ой, да юзайте хоть awk, мне до фонаря. И спорить я с вами не собираюсь, если все аргументы ограничиваются набром фраз "так надо, так лучше, а не верите, сосите лапу".
    И всё же, вдруг вас одолеют сомнения, спросите у разработчиков PHP, что оптимальнее использовать: регулярки или поиск с заменой, если задачу без проблем можно решить, используя лишь строковые функции.
     
  15. Gisma

    Gisma Гость

    ты не понимаешь мой главный аргумент. А так конечно можно обойтись. У каждой проблемы всегда как минимум 2 решения.
     
  16. s10

    s10 Гость

    ого. как вы пошуметь любите.
    по моему какой вопрос такой ответ.
    он спросил "как заменить путь в html?". Моё мнение - руками.
    про preg_replace в вопросе ни слова не было.

    а вы сразу про парсинг.
    <!--QuoteBegin-Gisma+25:07:2006, 22:34 -->
    <span class="vbquote">(Gisma @ 25:07:2006, 22:34 )</span><!--QuoteEBegin-->чем они отличаются от моего решения?
    [snapback]41007" rel="nofollow" target="_blank[/snapback]​
    [/quote]

    незнаю как у вас конечно, мот вы html и парсите на предмет нахождения тэгов и атрибутов. но вот у меня в качестве путей обычно константы записаны.
    иную ситуацию представить затрудняюсь.
     
  17. Evgen

    Evgen Гость

    ого! Задачу свою уже решила с помощью preg_replace. Спасибо.
    <!--QuoteBegin-Gisma+26:07:2006, 12:29 -->
    <span class="vbquote">(Gisma @ 26:07:2006, 12:29 )</span><!--QuoteEBegin-->нет ну я в такую тупость спрашивающего человека просто не верю.wink.gif
    Ты прикинь программирует человек а произвести замену в файле исходников не знает как?wink.gif Это чуть-чуть офигительный прикол.
    [snapback]41029" rel="nofollow" target="_blank[/snapback]​
    [/quote]

    Я только начала изучать php, поэтому спрашиваю иногда :)
     
  18. j_man

    j_man Гость

    Если речь идет об одной html-ке то проще использовать preg_replace... (посчитайте сколько это зайймет времени у скрипта и убидетесь в ничтожности сего действия), в то время как на реализацию строковыми функциями может уйти побольше времени (а выйгрышь во времени никто не заметит)...

    В иной ситуацииможет оказаться и наоборот, особенно если вы владеете алгоритмами поиска, а то знаете ли, всякое искать приходится :ph34r:, но если же всетаки задача нестандартная а вы не слышали раньше о иетодах решения таких задач, то не парьте себе мозги и узайте preg ///
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей