/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Erstatte {locallink:10} med $locallink[10]
Fra : Ukendt


Dato : 04-03-10 16:39

Hej,

Hvordan kan man erstatte f.eks. {locallink:id} med $locallink[id] ? Jeg har
fået erstattet {locallink:id} til $locallink[id] men så skriver serveren
bare "$locallink[id]";

MVH Anders


 
 
Martin Larsen (04-03-2010)
Kommentar
Fra : Martin Larsen


Dato : 04-03-10 17:19

Anders Mikkelsen wrote:

> Hvordan kan man erstatte f.eks. {locallink:id} med $locallink[id] ? Jeg
> har fået erstattet {locallink:id} til $locallink[id] men så skriver
> serveren bare "$locallink[id]";

Hvordan har du fået erstattet det til $locallink[id]?

Hvis det er en variabel som nu indholder "$locallink[id]" og du gerne
vil have den evalueret til *værdien* af $locallink[id], kan du evt.
bruge eval:

$locallink['id'] = 'test';
$var = '$locallink["id"]';
eval('$x = '.$var.";");
echo $x;

Hvis det er ikke er det du mener, må du lige fortælle lidt mere. Er det
evt. noget JSON (data fra javascript) ?

Martin

Ukendt (04-03-2010)
Kommentar
Fra : Ukendt


Dato : 04-03-10 17:27

"Martin Larsen" <martin+spamfree+larsen@bigfoot.com> skrev i meddelelsen
news:4b8fdd7f$0$278$14726298@news.sunsite.dk...
> Anders Mikkelsen wrote:
>
>> Hvordan kan man erstatte f.eks. {locallink:id} med $locallink[id] ? Jeg
>> har fået erstattet {locallink:id} til $locallink[id] men så skriver
>> serveren bare "$locallink[id]";
>
> Hvordan har du fået erstattet det til $locallink[id]?

$subject = '{locallink:10}';
$subject = preg_replace('|{(\w+):(\w+)}|', '$\1[$\2]', $subject);
echo $subject;

> Hvis det er en variabel som nu indholder "$locallink[id]" og du gerne vil
> have den evalueret til *værdien* af $locallink[id], kan du evt. bruge
> eval:
>
> $locallink['id'] = 'test';
> $var = '$locallink["id"]';
> eval('$x = '.$var.";");
> echo $x;
>
> Hvis det er ikke er det du mener, må du lige fortælle lidt mere. Er det
> evt. noget JSON (data fra javascript) ?


Jeg skal bruge den i mit cms hvor man vælger data fra en browser i CKEditor.
For at lave dynamiske links vil jeg gerne bare skrive: <a
href="{locallink:id}">link</a>, og så erstatte {locallink:id} til en php
funktion: url(id).. (lidt ligesom umbraco gør)

Skrev blot $locallink for at gøre det mere simpelt at forstå.

Mvh Anders


Martin Larsen (04-03-2010)
Kommentar
Fra : Martin Larsen


Dato : 04-03-10 17:44

Anders Mikkelsen wrote:

> Jeg skal bruge den i mit cms hvor man vælger data fra en browser i
> CKEditor. For at lave dynamiske links vil jeg gerne bare skrive: <a
> href="{locallink:id}">link</a>, og så erstatte {locallink:id} til en php
> funktion: url(id).. (lidt ligesom umbraco gør)
>
> Skrev blot $locallink for at gøre det mere simpelt at forstå.

Altså du har en tekststreng med html-kode, og url'er på formen
{locallink:id} skal erstattes med resultatet af det tilsvarende
funktionskald url(id)?

Martin

Ukendt (04-03-2010)
Kommentar
Fra : Ukendt


Dato : 04-03-10 17:49

"Martin Larsen" <martin+spamfree+larsen@bigfoot.com> skrev i meddelelsen
news:4b8fe342$0$286$14726298@news.sunsite.dk...
> Anders Mikkelsen wrote:
>
>> Jeg skal bruge den i mit cms hvor man vælger data fra en browser i
>> CKEditor. For at lave dynamiske links vil jeg gerne bare skrive: <a
>> href="{locallink:id}">link</a>, og så erstatte {locallink:id} til en php
>> funktion: url(id).. (lidt ligesom umbraco gør)
>>
>> Skrev blot $locallink for at gøre det mere simpelt at forstå.
>
> Altså du har en tekststreng med html-kode, og url'er på formen
> {locallink:id} skal erstattes med resultatet af det tilsvarende
> funktionskald url(id)?
>
> Martin

Jeps :)


Martin Larsen (04-03-2010)
Kommentar
Fra : Martin Larsen


Dato : 04-03-10 18:14

Anders Mikkelsen wrote:

>> Altså du har en tekststreng med html-kode, og url'er på formen
>> {locallink:id} skal erstattes med resultatet af det tilsvarende
>> funktionskald url(id)?
>>
>> Martin
>
> Jeps :)


Så skulle dette eksempel kunne bringe dig videre:

$html = '<a href="{locallink:123}">link</a><a
href="{locallink:456}">link</a>';

echo preg_replace_callback('/{locallink:([^}]+)}/is', 'url_callback',
$html);

function url_callback($matches) {
return url($matches[1]);
}

function url($id) {
return "http://www.example.com/$id";
}

Hilsen
Martin

Ukendt (04-03-2010)
Kommentar
Fra : Ukendt


Dato : 04-03-10 18:32

"Martin Larsen" <martin+spamfree+larsen@bigfoot.com> skrev i meddelelsen
news:4b8fea65$0$284$14726298@news.sunsite.dk...
> Anders Mikkelsen wrote:
>
>>> Altså du har en tekststreng med html-kode, og url'er på formen
>>> {locallink:id} skal erstattes med resultatet af det tilsvarende
>>> funktionskald url(id)?
>>>
>>> Martin
>>
>> Jeps :)
>
>
> Så skulle dette eksempel kunne bringe dig videre:
>
> $html = '<a href="{locallink:123}">link</a><a
> href="{locallink:456}">link</a>';
>
> echo preg_replace_callback('/{locallink:([^}]+)}/is', 'url_callback',
> $html);
>
> function url_callback($matches) {
> return url($matches[1]);
> }
>
> function url($id) {
> return "http://www.example.com/$id";
> }
>
> Hilsen
> Martin

Mange tak, den er perfekt :)


Søg
Reklame
Statistik
Spørgsmål : 177579
Tips : 31968
Nyheder : 719565
Indlæg : 6409073
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste