Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

WISYWIG, PHP и регулярные выражения

1.9K
25 декабря 2006 года
mavneon
71 / / 23.11.2006
Вообщем есть простенький висивиг редактор.

например он создаёт файл сл. вида:


 
Код:
<div style="text-align: center;">
    <span style="font-weight: bold; font-style: italic; text-decoration: underline line-through;">test</span><br>
</div>
<br>
<span style="font-weight: bold;">test</span>
<br>
<span style="font-style: italic;">test</span>


короче.
не могу допетрить как сформулировать Рег. выражение в PHP чтоб
<div style="text-align: center;"> И </div> был бы обычным - <center> И </center>, а <span style="font-weight: bold;">test</span> - <b>test</b>

подскажите люди добрые...

Заранее благодарен.!
337
25 декабря 2006 года
shine
719 / / 09.06.2006
Используй функцию str_replace(). Она и проще в использовании чем РВ и чуть быстрее будет работать.
1.9K
25 декабря 2006 года
mavneon
71 / / 23.11.2006
всё понятно.


не мог бы кто-нибудь привести к примеру код (я пока в регулярных совсем не силён) как выделить всё это дело регуляркой?
и отфармотировать чтобы получилось с <span style="font-weight: bold; font-style: italic; text-decoration: underline;">test</span>
вот такое: <b><i><u>test</u></i></b>
8
25 декабря 2006 года
mfender
3.5K / / 15.06.2005
Это всё нужно делать с помощью DOM. PHP хоть и не понимает (пока) DOM-модель документа, но с узлами справляется хорошо. А регулярными выражениями ничего не получится, потому что элементарно не получится найти конечного тэга: любой паттерн найдёт последний тэг в тексте, но не тот, который нужен (это если есть вложенные узлы - а это неизбежно).
12
27 декабря 2006 года
alekciy
3.0K / / 13.12.2005
Хм... очень любопытно было бы узнать, в чем же заключается это "непонимание"? Я вот с DOM работаю и ни какого недопониманию не вижу....
8
27 декабря 2006 года
mfender
3.5K / / 15.06.2005
Но он же не понимает, где BODY, а где TABLE - ему любой узел просто DOMElement, и не знает их методов и свойств, как это прописано в mshtml.dll.
1.9K
27 декабря 2006 года
mavneon
71 / / 23.11.2006
скажите
а можно ли с помощью - execCommand('inserthorizontalrule',false,'')
изменить как нить свойства добавляемого тега <hr>

у меня он делает так: <hr style="width: 100%; height: 2px;">
а сделать например <hr color="#000000">
8
27 декабря 2006 года
mfender
3.5K / / 15.06.2005
Цитата: mavneon
скажите
а можно ли с помощью - execCommand('inserthorizontalrule',false,'')
изменить как нить свойства добавляемого тега <hr>

у меня он делает так: <hr style="width: 100%; height: 2px;">
а сделать например <hr color="#000000">


Вот не пойму, а чем не нравится style?

256
27 декабря 2006 года
foxweb
1.0K / / 27.07.2005
2 mfender:

привычки "старой школы" ))
12
28 декабря 2006 года
alekciy
3.0K / / 13.12.2005
Цитата: mfender
Но он же не понимает, где BODY, а где TABLE - ему любой узел просто DOMElement, и не знает их методов и свойств, как это прописано в mshtml.dll.


Все правильно. Не понимаем и не должен ибо то, что реализовано в PHP это DOM API Level 2 в части DOM API Core. Максимально отстраненая от конкретного DTD модель. Так что ни о каком "непонимании" речи быть не может.

А ты видимо расчитываешь поддежку в части DOM API Level 2 HTML. Нет такого пока.

12
28 декабря 2006 года
alekciy
3.0K / / 13.12.2005
Цитата: foxweb
2 mfender:

привычки "старой школы" ))


Да это уже не "старой школы" :D . Это уже не очень хорошее знание даже HTML 4, которое, между прочим, не вчера вышло в свет ;) .

1.9K
28 декабря 2006 года
mavneon
71 / / 23.11.2006
школа то не совсем старая.
вот не пойму почему от не знания хтмл?

подумаешь не тот пример привёл, который кому то не понравился
мне например не нравится когда вместо обычного <b> пишут хрен типа <strong> и т.д
8
28 декабря 2006 года
mfender
3.5K / / 15.06.2005
Цитата: mavneon
школа то не совсем старая.
вот не пойму почему от не знания хтмл?

подумаешь не тот пример привёл, который кому то не понравился
мне например не нравится когда вместо обычного <b> пишут хрен типа <strong> и т.д



Есть знатная штука - CSS. В случае, когда шрифт должен быть просто полужирным, нужно писать так:

[HTML]
<style>
.Bold { font-weight: bold; }
</style>

<html>
Какой-то текст, где кое-что <span class="Bold">должно быть полужирным</span>
</html>
[/HTML]

832
28 декабря 2006 года
Carpus
390 / / 14.04.2005
Цитата: mavneon

мне например не нравится когда вместо обычного <b> пишут хрен типа <strong> и т.д



Так ведь это не просто так пишут ;) По некоторым данным, смысловое выделение <strong> и <em> придает больший "вес" словам в поисковых системах, чем визуальное выделение <b> и <i> соответственно.

256
28 декабря 2006 года
foxweb
1.0K / / 27.07.2005
Нравится не нравится - стандарты существуют для всех.
Кроме того использование CSS в сочетании с XHTML даёт больше свободу действий с DOM. Я за полное отделение оформления от HTML-кода. Стандартам уже по 10-15 лет (ГИФу например вообще 20, PNG правда 10 лет), но до сих пор почему то все фигачат, как хотят...
1.9K
28 декабря 2006 года
mavneon
71 / / 23.11.2006
Цитата: Carpus
Так ведь это не просто так пишут ;) По некоторым данным, смысловое выделение <strong> и <em> придает больший "вес" словам в поисковых системах, чем визуальное выделение <b> и <i> соответственно.




хммм. не знал. спасибо за инфо.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог