S
S
Sergey Defactov2017-09-13 05:50:55
css
Sergey Defactov, 2017-09-13 05:50:55

Doesn't recognize url with Russian letters?

Please help when switching to url (where there are Cyrillic letters, that is, Russian letters) the site gives an error 404 page not found
in the functions found

public function alphanum($value,$field)
    {
        $value = strip_tags($value);
        $field = strip_tags($field);

        $valid = preg_match('/^[\pL\pN]+$/u', $value);
        $slug = toAscii($value);

        if(!$valid or empty($slug) or strlen($value) != strlen($slug))
        {
            $this->errorBag[] = array('field' => $field,'error' => $this->getError('alphanum',array($field)));
        }
    }


  public function url($value,$field)
    {
        $value = strip_tags($value);
        $field = strip_tags($field);

        if(!filter_var($value, FILTER_VALIDATE_URL));
        {
            $this->errorBag[] = array('field' => $field,'error' => $this->getError('url',array($field)));
        }
    }
public function getLink($param = array())
    {
        if (empty($param)) return app()->url($this->pattern);
        $pattern = $this->pattern;
        foreach($param as $id => $value) {
            $pattern = str_replace("{".$id."}", $value, $pattern);
        }
        return app()->url($pattern);
    }
}function str_limit($text, $length, $ad = '...') {
    /**
     * @var $ending
     * @var $exact
     * @var $html
     */
    $ad = is_string($ad) ? array('ending' => $ad) : $ad;
    $default = array('ending' => '...', 'exact' => true, 'html' => false);
    $options = array_merge($default, $ad);
    extract($options);

    if ($html) {
        if (mb_strlen(preg_replace('/<.*?>/', '', $text)) <= $length) {
            return $text;
        }
        $totalLength = mb_strlen(strip_tags($ending));
        $openTags = array();
        $truncate = '';

        preg_match_all('/(<\/?([\w+]+)[^>]*>)?([^<>]*)/', $text, $tags, PREG_SET_ORDER);
        foreach ($tags as $tag) {
            if (!preg_match('/img|br|input|hr|area|base|basefont|col|frame|isindex|link|meta|param/s', $tag[2])) {
                if (preg_match('/<[\w]+[^>]*>/s', $tag[0])) {
                    array_unshift($openTags, $tag[2]);
                } else if (preg_match('/<\/([\w]+)[^>]*>/s', $tag[0], $closeTag)) {
                    $pos = array_search($closeTag[1], $openTags);
                    if ($pos !== false) {
                        array_splice($openTags, $pos, 1);
                    }
                }
            }
            $truncate .= $tag[1];

            $contentLength = mb_strlen(preg_replace('/&[0-9a-z]{2,8};|&#[0-9]{1,7};|&#x[0-9a-f]{1,6};/i', ' ', $tag[3]));
            if ($contentLength + $totalLength > $length) {
                $left = $length - $totalLength;
                $entitiesLength = 0;
                if (preg_match_all('/&[0-9a-z]{2,8};|&#[0-9]{1,7};|&#x[0-9a-f]{1,6};/i', $tag[3], $entities, PREG_OFFSET_CAPTURE)) {
                    foreach ($entities[0] as $entity) {
                        if ($entity[1] + 1 - $entitiesLength <= $left) {
                            $left--;
                            $entitiesLength += mb_strlen($entity[0]);
                        } else {
                            break;
                        }
                    }
                }

                $truncate .= mb_substr($tag[3], 0 , $left + $entitiesLength);
                break;
            } else {
                $truncate .= $tag[3];
                $totalLength += $contentLength;
            }
            if ($totalLength >= $length) {
                break;
            }
        }
    } else {
        if (mb_strlen($text) <= $length) {
            return $text;
        } else {
            $truncate = mb_substr($text, 0, $length - mb_strlen($ending));
        }
    }
    if (!$exact) {
        $spacepos = mb_strrpos($truncate, ' ');
        if (isset($spacepos)) {
            if ($html) {
                $bits = mb_substr($truncate, $spacepos);
                preg_match_all('/<\/([a-z]+)>/', $bits, $droppedTags, PREG_SET_ORDER);
                if (!empty($droppedTags)) {
                    foreach ($droppedTags as $closingTag) {
                        if (!in_array($closingTag[1], $openTags)) {
                            array_unshift($openTags, $closingTag[1]);
                        }
                    }
                }
            }
            $truncate = mb_substr($truncate, 0, $spacepos);
        }
    }
    $truncate .= $ending;

    if ($html) {
        foreach ($openTags as $tag) {
            $truncate .= '</'.$tag.'>';
        }
    }

    return $truncate;
}

Answer the question

In order to leave comments, you need to log in

1 answer(s)
D
dicem, 2019-05-26
@Ylia_dr

Firstly, you have a grid there of 9 columns, put 12.
That is, so that the class is col-md-12, most likely there may be such an add-on in the theme settings.
Secondly, get rid of this misunderstanding:
You don't need to display the block as a table.
Thirdly, add to the marked class the properties marked accordingly.
5cea6f2e76742145526926.png

display: flex;
justify-content: center

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question