que tiene esta cadena:Extraer número de variables
$guid = 'http://www.test.com/?p=34';
¿Cómo puedo extraer el valor de var get p
(34) de la cadena y tienen $guid2 = '34'
?
que tiene esta cadena:Extraer número de variables
$guid = 'http://www.test.com/?p=34';
¿Cómo puedo extraer el valor de var get p
(34) de la cadena y tienen $guid2 = '34'
?
$query = parse_url($url, PHP_URL_QUERY);
parse_str($query, $vars);
$guid2 = $vars['p'];
Si 34 es el único número en la cadena de consulta, también puede utilizar
echo filter_var('http://www.test.com/?p=34', FILTER_SANITIZE_NUMBER_INT); // 34
Esto se tira nada, no un número de la cadena URL. Sin embargo, esto fallará en el instante en que haya otros números en la URL. El solution offered by konforce es el enfoque más confiable si desea extraer el valor del parámetro p de la cadena de consulta.
A preg_replace() es probablemente la forma más rápida de obtener esa variable, el código siguiente funcionará si es siempre un número. Aunque konforce's solution es la forma general de obtener esa información de una URL, a pesar de que hace mucho trabajo para esa URL en particular, que es muy simple y se puede tratar simplemente si se actualiza.
$guid = 'http://www.test.com/?p=34';
$guid2 = preg_replace("/^.*[&?;]p=(\d+).*$/", "$1", $guid);
actualización
Tenga en cuenta que si las URL no puede ser garantizado para tener la variable p=<number>
en ellos, entonces usted tendría que usar partido en su lugar, como preg_replace() terminaría no a juego y devolviendo toda la cadena.
$guid = 'http://www.test.com/?p=34';
$matches = array();
if (preg_match("/^.*[&?;]p=(\d+).*$/", $guid, $matches)) {
$guid2 = $matches[1];
} else {
$guid2 = false;
}
Eso es WordPress. En una sola página de publicación puede usar la función get_the_ID() (WP built-in, que se usa solo en el bucle).
$guid2 = $_GET['p']
Para más seguridad:
if(isset($_GET['p']) && $_GET['p'] != ''){
$guid2 = $_GET['p'];
}
else{
$guid2 = '1'; //Home page number
}
esto probablemente se debe incluir un cheque por ';' 'p 'antes de la para evitar' 12' NOTP = [&]. Si 'p' es el primer argumento, será'? P = ', si es otro, pero el primer parámetro será' & p = 'o, cuando los símbolos y símbolos estén codificados,' & p = '. – Gordon
@Gordon Buen punto, un caso que no tomé en cuenta. Enmendaré mi respuesta. – Orbling