Тема: Замена B на Strong в парсере DLE

Есть такой хак для DLE, который заменяет в тексте атрибут выделения <b> на <strong>. Но в последних версиях, начиная с 9.5, а может и 9.4 этот хак не работает (поменялся код в движке). Покапался, но так и не понял, что именно занять нужно. Вот старый хак:

Открываем ./engine/classes/parse.class.php

Находим:

$source = preg_replace( "#\[b\](.+?)\[/b\]#is", "<b>\\1</b>", $source );
        $source = preg_replace( "#\[i\](.+?)\[/i\]#is", "<i>\\1</i>", $source );

Заменяем на:

$source = preg_replace( "#\[b\](.+?)\[/b\]#is", "<strong>\\1</strong>", $source );
        $source = preg_replace( "#\[i\](.+?)\[/i\]#is", "<em>\\1</em>", $source );

Если кто знает как сделать такие изменения в новых версиях DLE, просьба отписать.

Re: Замена B на Strong в парсере DLE

Не проверял.

Найти:

    if ($count_start AND $count_start == $count_end) $source = str_ireplace( "[b]", "<b>", str_ireplace( "[/b]", "</b>", $source ) );

Заменить:

    if ($count_start AND $count_start == $count_end) $source = str_ireplace( "[b]", "<strong>", str_ireplace( "[/b]", "</strong>", $source ) );

p.s К слову, яндекс негативно относится к выделению ключей в тексте, а гуглу обычно пофиг выделено ли это <b> или <strong>.

3 (18.09.2012 12:58 отредактировано krock)

Re: Замена B на Strong в парсере DLE

Проверил, не работает. Сам копаюсь, но никак не найду этот заменяющий код.

Все, нашел, может кому пригодится:

ищем в файле engine/classes/parse.class.php (305 строка примерно)

$source = str_ireplace( "[b]", "<b>", str_ireplace( "[/b]", "</b>", $source ) );

и меняем на

$source = str_ireplace( "[b]", "<strong>", str_ireplace( "[/b]", "</strong>", $source ) );

4 (09.09.2013 17:54 отредактировано Hooligan)

Re: Замена B на Strong в парсере DLE

krock пишет:

ищем в файле engine/classes/parse.class.php (305 строка примерно)

$source = str_ireplace( "", "<b>", str_ireplace( "", "</b>", $source ) );

и меняем на

$source = str_ireplace( "", "<strong>", str_ireplace( "", "</strong>", $source ) );

А если быть немного точнее то нужно сделать вот так:

+ Тыц
if ($count_start AND $count_start == $count_end) $source = str_ireplace( "[b]", "<b>", str_ireplace( "[/b]", "</b>", $source ) );

Заменяем на:

if ($count_start AND $count_start == $count_end) $source = str_ireplace( "[b]", "<strong>", str_ireplace( "[/b]", "</strong>", $source ) );

ищем:

$txt = str_replace( "<b>", "[b]", str_replace( "</b>", "[/b]", $txt ) );

ниже дописываем:

$txt = str_replace( "<strong>", "[b]", str_replace( "</strong>", "[/b]", $txt ) );

Учтите, что данное телодвижение, заработает только в основном BB code редакторе!!! по крайней мере, у меня на дле 10.0 на LiveEditor'e не завелось, щас копаюсь, что к чему!
Всем спасибо за внимание!

5

Re: Замена B на Strong в парсере DLE

а зачем подобные замены?

Re: Замена B на Strong в парсере DLE

ПафНутиЙ пишет:

а зачем подобные замены?

Ну, типа, поисковики больше любят <strong>, а не <b>. Хотя я в этом уже и не уверен, хотя и предпочитаю использовать так же <strong>.

7

Re: Замена B на Strong в парсере DLE

да бред это всё, лучше контент нормальный писать, и продвигать, а потом уже думать над подобными вещами.

8

Re: Замена B на Strong в парсере DLE

Но и такая мелочь, как strong, лишней не будет.