2009-06-05 11 views
18

que tenga que quitar la primera barra inclinada dentro de enlace con formato como esto:¿Quitar la primera barra inclinada en un enlace?

/directory/link.php 

tengo que tener:

directory/link.php 

No estoy leer y escribir en las expresiones regulares (? Preg_replace) y esas barras me están matando ...

Necesito tu ayuda stackoverflow!

¡Muchas gracias!

+0

re buena fuente de aprendizaje - Yo he aprendido mucho con el coche de expresiones regulares: http://www.weitz.de/regex-coach/ (gratuito para uso personal y comercial) – Piskvor

+0

mejor lugar para obtener saber preg_replace es, por supuesto, [documentación de php] (http://php.net/preg_replace) Sugeriría consultar [documentación general de preg (pcre)] (http://uk3.php.net/manual/en/ book.pcre.php) también. –

Respuesta

65

El hecho de que nadie ha mencionado antes:

$uri = "/directory/link.php"; 
$uri = ltrim($uri, '/'); 

La ventaja de éste es :

  • en comparación con substr() solution: funciona también con rutas que no comienzan con una barra inclinada. Por lo tanto, usar el mismo procedimiento varias veces en un uri es seguro.

  • en comparación con preg_replace() solution: es mucho más rápido. Actuar el motor de expresiones regulares para una tarea tan trivial es, en mi opinión, excesivo.

+0

darn. tan pronto como vi esta pregunta, esperaba poder sugerir esto. :) +1 –

+0

ltrim ($ uri, chr (47)); –

+0

'trim' también eliminará varias barras, por lo que' trim ('// foo/bar') 'se convierte en 'foo/bar', que podría no ser el que usted desea. –

5
preg_replace('/^\//', '', $link); 
+0

Muchas gracias, ¿me puede indicar un buen recurso de aprendizaje para preg_replace? – 0plus1

+0

@ 0plus1 http://www.regular-expressions.info/ –

+1

también se puede escribir como 'preg_replace ('# ^/#', '', $ link);' que puede ser más legible –

3

Si siempre es el primer carácter, no se necesita una expresión regular:

$uri = "/directory/link.php"; 
$uri = substr($uri, 1); 
+0

No necesita especificar la longitud. – Gumbo

+0

@Gumbo - Doh! Gracias – karim79

+0

Gracias, perdí completamente mi perspectiva ... y pasé por alto este método simple .. – 0plus1

Cuestiones relacionadas