2011-08-24 8 views
5

Mam bazę danych mysql artykułów, które zostały wpisane do textarea bez formatowania, używają tylko znak nowej linii dla łamie liniasql zapytanie do konwersji nowego wiersza do html <br>

\n 

Ptrzebuję Konwersja wszystkich z nich w hTML tagów br

<br /> 

możesz pomóc mi napisać zapytanie do tego, że mogę pracować w phpmyadmin, że będzie to robią?

nazwa tabeli jest

exp_channel_data 

jako pytanie bonusowej ...

Czy mogę uruchomić kwerendy, która będzie rozebrać wszystko na środku p i rozpiętości tagi

Chcę pozbyć się tych rzeczy

<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"> 
<span face="Times New Roman"> 

i kończy się tylko z tego

<p> 
<span> 
+0

Jeśli nie wiesz o tym, przeczytaj instrukcję SQL injection: http://en.wikipedia.org/wiki/SQL_injection. Naprawdę, naprawdę, nie chcesz mieć kodu SQL w bazie danych. Ogólnie zalecam wykonywanie tego rodzaju formatowania poza bazą danych. –

+0

ya Tak naprawdę nie uwzględniam żadnego SQL w bazie danych (chyba), to jest tylko jednorazowa konwersja, którą muszę uruchomić, doceń końcówkę – mjr

Odpowiedz

14

Pierwsze pytanie:

UPDATE exp_channel_data SET text_column = REPLACE(text_column, '\r\n', '<br />') 

Jeśli nie zastępuje niczego, użyj '\n' zamiast '\r\n'.

Drugie pytanie:

Nie można tego zrobić z kwerendy SQL, trzeba pobrać te dane do skryptu PHP, lub cokolwiek innego chcesz, i wykonać wyrażenie regularne zastąpić (przykład dla PHP) :

$new_str = preg_replace('#<(p|span)[^>]+>#', '<$1>', $old_string); 
+0

dziękuję, będę mieć na uwadze opcję php na przyszłość – mjr

5
UPDATE yourTable SET text=REPLACE(text,"\n","<br />") 

Działa to na pierwsze pytanie.

+0

To nie jest poprawna składnia SQL – Crack

+0

@Cack, tak, przepraszam za to. Teraz jest zbyt gorąco i wilgotno w Niemczech. – Jacob

+0

Heh, podziel się swoim słońcem. 19 ° C i deszczowo w Polsce;) – Crack

1

Ponieważ używasz ExpressionEngine, można po prostu zmienić format każdego pola do XHTML. Dodaje znaczniki <br />, gdy są wyświetlane na front-end. zakład, aby dane były czyste, a formatowanie pozostawić analizatorowi wyświetlającemu.

+0

W rzeczywistości przełączam z textarea fieldtype z formatowaniem auto br na NSM TinyMCE i chcę zachować przerwy, jeśli nie rób tego, tekst cały biegnie razem, gdybym nie zmieniał typów pól, twoje rozwiązanie byłoby dobre – mjr

Powiązane problemy