Rechercher : dans
Par :

[PHP] remplacer <? dans une chaine ?!

Dernière réponse le 17 avr 2008 à 16:10:57 fraid, le 17 avr 2008 à 14:33:17 
 Signaler ce message aux modérateurs

Bonjour,
je cherche à afficher une ligne de code php colorés syntaxiquement avec highlight_string().
le problème c'est que ma ligne ne commence pas par <?, alors je le rajoute manuellement, puis j'aimerai l'enlever après l'appel de la fonction highlight, mais je n'y parviens pas, je suppose que c'est parce que ? fait parti des expressions régulières ? j'ai tenté avec preg_replace("<?", "", $var, 1) car j'aimerais le supprimer qu'une seule fois !

merci d'avance !

fred

Configuration: Windows XP
Internet Explorer 6.0

Meilleures réponses pour « [PHP] remplacer  » dans :
PHP - Nettoyer une chaîne de caractères VoirVoici une fonction en PHP qui peut être assez pratique, surtout quand on fait de l'URL Rewriting. Cette fonction permet de transformer les caractères de n'importe quelle chaîne de caractères en chaîne non accentuée, en enlevant les caractères...
Javascript - Concaténation de chaînes de caractères VoirLe terme "concaténer" signifie joindre deux chaînes bout à bout pour n'en former qu'une seule. Dans la plupart des langages tels que PHP, la concaténation se fait avec le caractère ".". En javascript, il suffit d'utiliser le caractère plus (+) ou...
[PHP] Parse error, unexpected T_STRING, expecting ',' or ';' VoirCette erreur, fréquente, se produit notamment lorsqu'un guillemet est présent dans une chaîne délimitée par ce même type de guillemets, par exemple :
PHP - Expressions régulières VoirQu'est-ce qu'une expression régulière? Les expressions régulières sont des modèles créés à l'aide de caractères ASCII permettant de manipuler des chaînes de caractères, c'est-à-dire permettant de trouver les portions de la chaîne correspondant au...
VBScript - Les fonctions de chaînes de caractères VoirLes fonctions de chaînes de caractères Fonction Description Filter(InputStrings, Value[, Include[, Compare]]) Sélectionne des chaînes de caractères parmi un tableau de chaînes...
PHP - Les fichiers VoirLa gestion des fichiers avec PHP Avec PHP, la création ou la lecture de fichiers est, une fois de plus, assez simple. Il existe une multitude de fonctions dédiées à l'utilisation des fichiers. La communication entre le script PHP et le fichier...

1

R4f, le 17 avr 2008 à 15:10:30

Tu devrais ajouter un backslash devant le point d'interrogation, car il a une signification spéciale dans la syntaxe des expressions régulières.
Backslash -> AltGr-8 :

preg_replace("<\?", "", $var, 1)

Répondre à R4f

2

fraid, le 17 avr 2008 à 15:29:57

Voici le message d'eereur que j'obtiens :

Warning: preg_replace() [function.preg-replace]: No ending matching delimiter '>' found in ... on line 254

merci de votre réponse, avez vous une idée ??

Répondre à fraid

3

Reivax962, le 17 avr 2008 à 15:45:01

Oui, < aussi est un caractère réservé.
Il faut tout échapper :
\<\?

Répondre à Reivax962

4

fraid, le 17 avr 2008 à 15:50:51

Warning: preg_replace() [function.preg-replace]: Delimiter must not be alphanumeric or backslash in /home5/p..

:-) Quelqu'un va t il donc réussir ?

Répondre à fraid

5

 fraid, le 17 avr 2008 à 16:10:57

A priori j'ai trouvé une solution un peu bricolage mais bon,
comme c'est moi qui ajouté a chaque fois <? en début de ligne, ce code devrait avoir toujours la meme position,
je l'ai donc supprimé avec quelques $var[xx]=""; qui m'enlèvre mon < et ? et a priori ca marche...

merci à tous !
je ne sais pas comment mettre un sujet comme résolu ??

Répondre à fraid
Collection CommentÇaMarche.net