PDA

Bekijk Volledige Versie : [PHP] Hoe haal ik <?xml: uit een string?



Slider©
03/05/03, 13:35
Hallo NIWSS,

Ik heb onlangs een WYSIWYG editor gebouwd, en dat werkt op zich prima. Het
enige probleem dat ik heb is, dat als je stukken uit Word erheen sleept er
<?xml: in de source komt te staan. Hier loopt het PHP script dat ik heb
gemaakt om de gemaakte broncode te verwerken op vast.

Ik heb strip_tags($string, ' '); gebruikt, en zonder dit werkt het wel. Weet
iemand wat ik bij strip_tags() moet invoeren om php hier niet op te laten
crashen?

Alvast bedankt voor de hulp.

Groeten,
Paul

Daniel Tryba
03/05/03, 13:50
"Slider?" <reply@inthenewsgroup.com> wrote:
> Ik heb onlangs een WYSIWYG editor gebouwd, en dat werkt op zich prima. Het
> enige probleem dat ik heb is, dat als je stukken uit Word erheen sleept er
> <?xml: in de source komt te staan. Hier loopt het PHP script dat ik heb
> gemaakt om de gemaakte broncode te verwerken op vast.

Loopt vast? Foutmeldingen? Staat shottags aan?

> Ik heb strip_tags($string, ' '); gebruikt, en zonder dit werkt het wel. Weet
> iemand wat ik bij strip_tags() moet invoeren om php hier niet op te laten
> crashen?

strip_tags, dient een string met "allowabletags" te krijgen als
argument. Nu is <?xml geen element maar een processing instruction. Wat
je waarschijnljik wilt is alles wat zich tussen een opeenvolgende <?xml
en ?> inclusief deze strings te verwijderen. Dat kan met bv
preg_replace (ongetest):

$str=preg_replace('/<\?xml.*?\?>/','',$str);

--

Daniel Tryba

Slider©
04/05/03, 17:20
"Daniel Tryba" schreef:
> "Slider?" <reply@inthenewsgroup.com> wrote:
> > Ik heb onlangs een WYSIWYG editor gebouwd, en dat werkt op zich prima.
Het
> > enige probleem dat ik heb is, dat als je stukken uit Word erheen sleept
er
> > <?xml: in de source komt te staan. Hier loopt het PHP script dat ik heb
> > gemaakt om de gemaakte broncode te verwerken op vast.
>
> Loopt vast? Foutmeldingen? Staat shottags aan?
>
> > Ik heb strip_tags($string, ' '); gebruikt, en zonder dit werkt het wel.
Weet
> > iemand wat ik bij strip_tags() moet invoeren om php hier niet op te
laten
> > crashen?
>
> strip_tags, dient een string met "allowabletags" te krijgen als
> argument. Nu is <?xml geen element maar een processing instruction. Wat
> je waarschijnljik wilt is alles wat zich tussen een opeenvolgende <?xml
> en ?> inclusief deze strings te verwijderen. Dat kan met bv
> preg_replace (ongetest):
>
> $str=preg_replace('/<\?xml.*?\?>/','',$str);

Bedankt, door jouw tip bedacht ik me dat ik bij de ereg_replace('<?xml:',
'<', $omschrijving); die ik had staan wel eens mocht escapen...en het
werkte. Voor het archief: Ik heb nu achtereenvolgens ereg_replace('<?xml:',
'<', $omschrijving); die van de <?xml tag een 'normaal uitziende html tag'
maakt en strip_tags($omschrijving, '<h1><h2>....enz'); die deze 'normaal
uitziende html tag' weer verwijderd.

Groeten,
Paul