I have a problem separting a text string with the preg_split function
If somebody could help, it would be greatly appreciated.
The problem I have is that my code, so far, does the job, except it recognises ALL ":" and not only those following "PAGE".
This should be fairly easy to solve?
What I want to do:
As part of a php-controlled content management system, this code has the purpose to link to other page within the same website.
Example: "See also this page."
When editing content, the administrator should be able to perform this link by editing the string above as:
"See also PAGE:15:this page😛AGE.", so containing:
PAGE: (opening tag, to be found by php code to insert a <a href...)
15: number of the corresponding page
😛AGE (end tag to be replaced by </a>)
My code:
-- loop through string until all PAGE requests are processed
while(ereg('PAGE:',$string))
{
-- filter text string to separate to make $id_id available
$nummer=preg_split("(PAGE|😐PAGE)", $string, -1,PREG_SPLIT_DELIM_CAPTURE);
# -- recall $id_id from the resulting array
$id_id=$nummer[2];
# -- replace opening tag, so next loop will no longer see the link
$string=preg_replace("(PAGE🙂","<a href=main.php?id=$id_id>",$string, 1);
# -- replace end tag
$string=preg_replace("(😛AGE)","</a>",$string, 1);
# -- delete visible $id_id because it is still visible in the string
$string=preg_replace("($id_id🙂", "", $string, 1);
}
with example $string="Here comes the link: PAGE:15:click here😛AGE"
this should, but doesn't produce the result "Here comes the link: <a href=page.php?id=15>click here</a>"