Muchas gracias por el interés, tu primer código:
Código PHP:
Ver original<?php
$foo = 'bla bla <b>Hello World!</b>';
?>
<a href="<?= 'http://localhost/pruebas/test-'.$foo_encoded; ?>">Enlace</a>
funciona de forma aparente, es decir, no me da 403, pero no esta enviando el signo ">" sino un "entitie html" (¿Se llamara asi?...) y no me sirve, fijate esto:
.htaccess
Código Apache:
Ver originalOptions +FollowSymLinks
RewriteEngine on
RewriteRule ^test-(.*)$ index.php?token=$1
index.php
Código PHP:
Ver original<?php
$foo = 'bla-bla-4>2-y-3<6';
?>
<a href="test-<?=$foo_encoded;?>">test-<?=$foo_encoded;?></a>
Acceso por
index.php:
Cita: array (size=0)
empty
test-bla-bla-4%26gt%3B2-y-3%26lt%3B6
Acceso por
test-bla-bla-4%26gt%3B2-y-3%26lt%3B6 Cita: array (size=3)
'token' => string 'bla-bla-4' (length=9)
'gt;2-y-3' => string '' (length=0)
'lt;6' => string '' (length=0)
test-bla-bla-4%26gt%3B2-y-3%26lt%3B6
La segunda funcion,
my_htmlentities si bien funciona, me parece demasiado rustica jaja ademas de que no soluciona el problema de pasar un ">" o "<" porque en realidad esta pasando "__menor__" que nunca tubo problema.