Ciao a tutti, sto creando uno script che prende in input un testo e come output da lo stesso testo a cui vengono sostuiti i codici per le emoticon ( ad esempio :smile: ) con la relativa faccina, le email vengono rese cliccabili cosi come i link http e ftp, e le abbreviazioni sostuite con la parola intera.
Al momento ho queste 4 funzioni, ognuna delle quali restituisce 4 output diversi, come posso raggrupparle in modo che restituiscano un unico output?
Al momento ho queste 4 funzioni, ognuna delle quali restituisce 4 output diversi, come posso raggrupparle in modo che restituiscano un unico output?
PHP:
function replacemail($matches)
{
foreach ($matches as $match)
{
return "<a href=\"mailto:$match\">$match</a><br>";
}
}
$regex = '/\b(\s[[:punct:]])*([a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,6}){1}(\s[[:punct:]])*\b/i';
echo preg_replace_callback($regex,"replacemail",$text);
PHP:
function abbreviazioni($matches)
{
foreach ($matches as $match)
{
$conn = mysqli_connect('127.0.0.1','root','','esame') or die("Connection failed: " . $conn->connect_error);
$query = mysqli_query($conn,"SELECT corrispondenza FROM `abbreviazioni` WHERE abbreviazione='{$match}' ");
while ($abbr = mysqli_fetch_array($query,MYSQLI_ASSOC))
{
return $abbr['corrispondenza'];
}
$conn->close();
}
}
$regex = '/([a-z0-9.]*)/i';
$lowertext = strtolower($text);
echo '<br>'.preg_replace_callback($regex,"abbreviazioni",$lowertext).'<br>';
PHP:
function emoji($matches)
{
foreach ($matches as $match)
{
$conn = mysqli_connect('127.0.0.1','root','','esame') or die("Connection failed: " . $conn->connect_error);
$query = mysqli_query($conn,"SELECT link FROM `emoticons` WHERE emoji='{$match}' ");
while ($link = mysqli_fetch_array($query,MYSQLI_ASSOC))
{
return "<img src=\"$link[link]\">";
}
$conn->close();
}
}
$regex = '/(:{1}[0-9a-z]*:{1})/i';
echo '<br>'.preg_replace_callback($regex,"emoji",$text).'<br>';
PHP:
function ftphtml($matches)
{
foreach ($matches as $match)
{
return "<a href=\"$match\" target=\"_blank\">$match</a><br>";
}
}
$regex = '/\b(\s[[:punct:]])*(ftps?|https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?(\s[[:punct:]])*\b/i';
echo preg_replace_callback($regex,"ftphtml",$text);