qq() in php?

qq() in php?

am 10.09.2006 13:45:01 von Josef.Kuhl

Hallo,

in Perl gibt es den qq-Operator, um Konstrukte der Art

$var =3D "

bar
";

also die Maskiererei von Anführungszeichen zu vermeiden.

Man schreibt dann einfach

$var =3D qq(
bar
):

Gibt es so etwas auch in PHP? (Aber nicht die HEREDOC Variante, die
läuft ja dann über
mehrere Zeilen und ist für so kurze Texte etwas overkill.)

Danke,
JK

Re: qq() in php?

am 10.09.2006 14:17:49 von Ulf Kadner

Josef.Kuhl@gmx.de wrote:

> in Perl gibt es den qq-Operator, um Konstrukte der Art
> $var = "

bar
";
>
> also die Maskiererei von Anführungszeichen zu vermeiden.
>
> Man schreibt dann einfach
> $var = qq(
bar
):
>
> Gibt es so etwas auch in PHP?

Nein! Aber Maskierung ist in Deinem Fall in keiner Weise notwendig wenn
Dus so schreibst:

$var = '
bar
';
$var = "
bar
";

MfG, Ulf

Re: qq() in php?

am 10.09.2006 14:20:29 von Ulf Kadner

Josef.Kuhl@gmx.de wrote:

Bitte konfigurieren Deinen Google-Newsaccount so das statt Deiner
Mailadresse nur Dein Name als absender hier erscheint.

Hier bitte lesen:
http://www.fh-flensburg.de/wt/usenet/Hinweise_fuer_Google-Po ster.txt

MfG, Ulf

Re: qq() in php?

am 10.09.2006 16:13:03 von Josef.Kuhl

Ulf Kadner schrieb:
[..]

>
> Nein! Aber Maskierung ist in Deinem Fall in keiner Weise notwendig wenn
> Dus so schreibst:
>
> $var =3D '

bar
';
> $var =3D "
bar
";

Danke. Aber bei Deiner ersten Variante habe ich keine
Variablen-Ersetzung (okay, hatte ich nicht explizit in meinem Beispiel
gefordert, will ich aber trotzdem haben) und die zweite ist nicht das,
was ich haben will. Ich will schon Anführungszeichen statt Apostrophe
haben.

Einmal mehr wird mir klar, dass PHP nun doch nicht so ausgegoren wie
Perl zu sein scheint ;-)

JK

Re: qq() in php?

am 10.09.2006 16:14:20 von Josef.Kuhl

Ulf Kadner schrieb:

> Josef.Kuhl@gmx.de wrote:
>
> Bitte konfigurieren Deinen Google-Newsaccount so das statt Deiner
> Mailadresse nur Dein Name als absender hier erscheint.
>
> Hier bitte lesen:
> http://www.fh-flensburg.de/wt/usenet/Hinweise_fuer_Google-Po ster.txt
>

Ich hab's umgestellt.

JK

Re: qq() in php?

am 10.09.2006 16:30:00 von Wolfgang Fellger

Josef Kuhl schrieb:

>Ich will schon Anführungszeichen statt Apostrophe haben.

Warum nun das wieder? Typographie ist dem Computer sowas von egal...
Und das andere sind strenggenommen auch Zollzeichen.

--
Wolfgang Fellger

Re: qq() in php?

am 10.09.2006 17:10:03 von Ulf Kadner

Josef Kuhl wrote:
> Ulf Kadner schrieb:
>>$var = '

bar
';
>>$var = "
bar
";
>
> Danke. Aber bei Deiner ersten Variante habe ich keine
> Variablen-Ersetzung (okay, hatte ich nicht explizit in meinem Beispiel
> gefordert, will ich aber trotzdem haben) und die zweite ist nicht das,
> was ich haben will. Ich will schon Anführungszeichen statt Apostrophe
> haben.

Welche Intention veranlaßt dich das zu wollen? :-)
Singlequotes sind nich besser oder schlechter als Doublequotes in HTML/XML

> Einmal mehr wird mir klar, dass PHP nun doch nicht so ausgegoren wie
> Perl zu sein scheint ;-)

Warum willst Du es dann einsetzen? PHP und Perl sind nunmal 2 Paar Schuhe!

Es ist schlicht Dein Fehler zu glauben PHP habe die selben Features wie
Perl. Ich könnte mich auch darüber aufregen das Perl das so umständlich
macht! in C# schreibe ich z.B. @"
" dafür was mir
wieder viel besser gefällt als Perls Lösung. Aber es wäre dumm C# mit
PHP oder Perl zu vergleichen. Das selbe gilt auch für PHP und Perl.

PS.: Das Smiley hab ich schon bemerkt. Aber sowas schreibt man doch
nicht in einer PHP-NG. :-)

MfG, Ulf

Re: qq() in php?

am 10.09.2006 18:28:09 von Josef.Kuhl

Ulf Kadner schrieb:

[..]
>
> Welche Intention veranlaßt dich das zu wollen? :-)
> Singlequotes sind nich besser oder schlechter als Doublequotes in HTML/XML
>

Da hast Du recht. Aber es kommt immer wieder vor, dass man beides
braucht. Beispielsweise, wenn bei onclick-Aufrufen von irgendwelchen
JavaScript-Funktionen Argumente übergeben werden, die
Anführungszeichen benötigen.
Da muss dann maskiert werden - entweder so oder so. Per qq() kommt man
in Perl gut drum herum.

Ich hatte in meinem ursprünglichen Posting in der Tat ein zu simples
Beispiel genannt,
bei dem man dem eigentlichen Problem noch leicht ausweichen kann.

[..]
>
> PS.: Das Smiley hab ich schon bemerkt. Aber sowas schreibt man doch
> nicht in einer PHP-NG. :-)

Jehowa ;-))

Viele Grüße,
JK

Re: qq() in php?

am 10.09.2006 20:44:29 von letters

Am 10 Sep 2006 04:45:01 -0700 schrieb Josef.Kuhl@gmx.de:

> Hallo,
>
> in Perl gibt es den qq-Operator, um Konstrukte der Art
>
> $var = "

bar
";
>
> also die Maskiererei von Anführungszeichen zu vermeiden.
>
> Man schreibt dann einfach
>
> $var = qq(
bar
):
>
> Gibt es so etwas auch in PHP? (Aber nicht die HEREDOC Variante, die
> läuft ja dann über
> mehrere Zeilen und ist für so kurze Texte etwas overkill.)
>
> Danke,
> JK

Kannst Du nicht addslashes() verwenden?

Mathias

Re: qq() in php?

am 10.09.2006 21:36:22 von Johannes Vogel

Hi Josef

Josef Kuhl wrote:
> Ulf Kadner schrieb:
>> Josef Kuhl wrote:
>>> $var = qq(

bar
):
> Einmal mehr wird mir klar, dass PHP nun doch nicht so ausgegoren wie
> Perl zu sein scheint ;-)

Also Stringübergabe an eine Funktion, ohne dabei diesen in " oder '
einpacken zu müssen, finde ich nicht gerade 'ausgegoren'. Die PHPler
fluchen über die Inkonsistenzen der Parameterübergabe vor allem bei
Stringfunktionen - aber wenn man die Inkonsistenzen in Perl vergleicht,
ist dies Wettern auf hohem Niveau!

SCNR, Johannes

Re: qq() in php?

am 11.09.2006 10:41:37 von thornythegod

Josef Kuhl schrieb:

>>Welche Intention veranlaßt dich das zu wollen? :-)
>>Singlequotes sind nich besser oder schlechter als Doublequotes in HTML/XML
>
> Da hast Du recht. Aber es kommt immer wieder vor, dass man beides
> braucht. Beispielsweise, wenn bei onclick-Aufrufen von irgendwelchen
> JavaScript-Funktionen Argumente übergeben werden, die
> Anführungszeichen benötigen.
> Da muss dann maskiert werden - entweder so oder so. Per qq() kommt man
> in Perl gut drum herum.

Was hindert dich daran, ein vernüftiges Templating zu betreiben? HTML
Bearbeitung innerhalb von PHP ist kein allzu schöner Stil ;)

>>PS.: Das Smiley hab ich schon bemerkt. Aber sowas schreibt man doch
>>nicht in einer PHP-NG. :-)
>
> Jehowa ;-))

Backstein oder Findling? ;))

Gruß,
Torsten

Re: qq() in php?

am 14.09.2006 14:06:09 von Peter Buzanits

Mathias Fiedler schrieb:

>> $var = qq(

bar
):

> Kannst Du nicht addslashes() verwenden?

Das wird wohl kaum funktionieren...

$var = addslashes("
bar
");

.... hauts garantiert auf!

Peter