Estoy haciendo un glosario en mi web (Wordpress), en el que utilizo un filtro para buscar en el contenido de cada entrada las palabras que se encuentran en el glosario y ponerles un link a la definicion.
Mi problema es que cuando estas palabras aparecen en su plural, también me gustaria que se remplazara por el link.
Hasta ahora tengo este codigo:
Código PHP:
Ver original
function reemplazar($cadena){ 'showposts' => -1, 'category_name' => 'glosario', 'post_type' => 'glosario', ); $posts_array = get_posts( $args ); foreach ($posts_array as $posts) { $reemplaza[get_the_title($posts->ID)] = '<a href="' . get_permalink($posts->ID) . '" title="' . $posts->post_content .'">' . get_the_title($posts->ID) . '</a>'; $reemplaza[$plural] = '<a href="' . get_permalink($posts->ID) . '" title="' . $posts->post_content .'">' . get_the_title($posts->ID) . '</a>'; } foreach ($patterns as $pattern) { $pattern_final[] = '/(?<=\s|^)' . $pattern . '(?=\s|\.|\,|$)/i'; } return $cadena; } add_filter('the_content', 'reemplazar');
Con la expresion regular que utilizo
Código PHP:
$pattern_final[] = '/(?<=\s|^)' . $pattern . '(?=\s|\.|\,|$)/i';